gpt4 book ai didi

assembly - assembly 中出现奇怪的字符?

转载 作者:行者123 更新时间:2023-12-02 22:12:14 29 4
gpt4 key购买 nike

我编写了以下代码:

 .386
.model small
.stack 100h

.data
text db "Paper",0
.code
start :

lea dx , text
mov ah , 9h
int 21h

mov ah , 4ch
int 21h

end start

end

问题是它显示了奇怪的字符,中间是正确的句子,到底是什么问题?

最佳答案

; your code
start:
mov ax, @data
mov ds, ax
;your code

我想这会解决你的问题。 Dos 在加载 .com 文件时,设置 cs = ds = es。当然,加载 .exe 格式时,cs 指向您的代码,但 ds (和 es?) 则指向您的代码。 PSP(程序段前缀),通常不是您的数据所在的位置...您必须设置ds(如果要使用它,还必须设置es)你自己。

“为什么要学习 16 位汇编?”这是一个好问题。 “为什么要学习汇编?”这是另一个好问题。你很可能永远不会用它写出任何“严肃”的东西。但它允许您以 HLL 无法做到的方式了解“幕后”发生的情况,并且 16 位允许您了解分段内存模型。 32 位代码也是分段的,但是虽然这些段“不同”,但它们通常指向相同的内存,您通常可以忽略它们 - 操作系统会为您处理所有这些事情。

此外,我们中的一些人疯狂到认为这很有趣!

关于assembly - assembly 中出现奇怪的字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17136679/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com