嗨,我非常擅长语言。
我想打印我的角色和变量' DOS屏幕上的值和字符串
我搜索过很多东西
他们中的大多数人告诉我要使用' int'指令
.code
main PROC
mov dl, 'a'
mov ah, 2h
int 21h
exit
main ENDP
end main
我通过互联网应对来编写了这样的代码。
但是我没有得到什么' mov啊,2h'是为了和
' int 21h'它总是会导致内存错误
我需要知道
如何获取用户输入的字符串,
如何打印我想要的值。
请帮助
答案 0 :(得分:0)
您的程序将无法运行,因为该代码生成DOS可执行文件,现代Windows版本不再支持它们(here for reference)。
代码的作用,让我们分析你的代码:
.code
main PROC
mov dl, 'a' ; Move character 'a' to the dl register
mov ah, 2h ; set the ah register to match with the 02 function code (write to STDOUT)
int 21h ; trigger the 21h interrupt
exit
main ENDP
end main
如果你想以这种方式读取字符(就像我之前写的那样,不再支持)读取here,并查看READ CHARACTER TO STDIN
编辑:这里有一个简单的回声函数:
; retrive a char from input
mov ah, 1h
int 21h
;print that char back
mov dl, al
mov ah, 2h
int 21h
答案 1 :(得分:-2)
回答“ mov ah,2”是什么的最简单方法,
就像在C ++中使用“ cout”语句一样,mov ah,2,其中2代表一个
函数调用,用于在屏幕上打印一个字符并移入ah,然后“ int 21h”
导致您的函数(2)要执行,并且要打印数据寄存器中的所有内容。
MOV DL,“ A”
MOV AH,2个
INT 21H
上面编写的代码在屏幕上打印单个字符“ A”。 希望能回答您的问题