assembly - 使用 MS-DOS int 21h 系统调用以汇编语言打印新行

标签 assembly x86 dos

过去几天,我一直在尝试打印新行,同时还在 nasmide 中使用汇编语言打印字母表,但无法得到它,到目前为止我尝试过的要么什么也没打印,要么只打印 A 要么打印了大量的符号,谷歌对我没有帮助,所以我决定在这里发帖。

到目前为止我的代码是

CR equ 0DH
LF equ 0AH

main:
mov AH,02H
mov CX,26
mov DL, 'A'

while1:
cmp DL, 'A'
add DL, 01H
int 21H
mov DL, 0DH
mov DL, 0AH
int 21H
cmp DL, 'Z'
je Next
jmp while1

Next:
mov AH,4CH
int 21h

最佳答案

打印新行的代码

MOV dl, 10
MOV ah, 02h
INT 21h
MOV dl, 13
MOV ah, 02h
INT 21h

ascii ---> 10 换行

ascii ---> 13 回车

那是新行的汇编代码,代码灵感来自写作机器。
我们的教授给我们讲了这个故事,但我英语不好。

干杯:)

关于assembly - 使用 MS-DOS int 21h 系统调用以汇编语言打印新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15832893/

相关文章:

assembly - 如何使绘图程序在 200x320 像素(而不是 200x255)组件上工作?

assembly - 读取奇数地址,半个字?

linux - 在适用于 Linux 的 Windows 子系统上的 Ubuntu 上使用 INT 0x80 汇编编译的可执行文件不产生输出

c++ - 使用 SIMD 内部函数时如何将依赖于输入的热数据保存在寄存器中

c - 如何在汇编代码中使用c变量

assembly - 如何在 x86 汇编中捕获 Tab 按操作?

linux - 缺少 gdb 和 nasm 的调试信息

java - 理解内存障碍

command-line - 读取/捕获 DOS 输入以在 MsBuild 中使用

windows - 批量删除文本文件中的一行?