Assembly 如何在回车和换行符后打印字母表?

Assembly 如何在回车和换行符后打印字母表?,assembly,while-loop,x86,x86-16,dosbox,Assembly,While Loop,X86,X86 16,Dosbox,打印a-z。 mov-DL,‘A’; cmp-DL,‘Z’; jge Next; 添加DL,01H;在DL中添加一个 jmp-addPrint 首先,在您的程序中根本没有打印。只有循环从“A”到“Y”(一个错误关闭),然后转到下一个的循环 在您的情况下,不需要.data和.bss部分.data应包含程序所需的初始化数据(字符串、表格等)和.bss未初始化的数据。(顺便说一句,什么是汇编程序?therm“section”通常用于保护模式编程,而不是DOS。通常称为“segment”。) 如果您试图

打印a-z。 mov-DL,‘A’; cmp-DL,‘Z’; jge Next; 添加DL,01H;在DL中添加一个 jmp-addPrint

  • 首先,在您的程序中根本没有打印。只有循环从“A”到“Y”(一个错误关闭),然后转到下一个的循环

  • 在您的情况下,不需要
    .data
    .bss
    部分
    .data
    应包含程序所需的初始化数据(字符串、表格等)和
    .bss
    未初始化的数据。(顺便说一句,什么是汇编程序?therm“section”通常用于保护模式编程,而不是DOS。通常称为“segment”。)

  • 如果您试图创建DOS.com文件(org 100h),则不能使用多段。因此,您必须只有一个段,并将所有代码和数据放在那里


  • 回车符CR和换行符LF是类似于“A”的ASCII字符。。。看ASCII表格。看来你太野心勃勃了。首先,试着编写一个只打印“a”的程序。1。好的,谢谢你的澄清。2.我在考虑使用.data和.bss部分,但不完全确定。3.我正在创建一个.asm文件。抱歉,如果不清楚,我正在使用DOSBOX,然后在其中使用nasmide。@throwawayjava-请在问题中添加一个关于所用汇编程序的标记。这非常重要,因为不同的汇编程序有不同的语法<代码>段=
    ,这样就可以了。您希望初始的
    mov dl'A'
    在循环之外-如果每次都将其重置为'A',您将永远不会退出循环。您需要在
    int21h
    -
    2
    之前的
    ah
    中输入一个函数号,以打印
    dl
    并退出
    4Ch
    。@FrankKotler好的,谢谢您的建议和无限循环分辨率!