汇编语言int 21h指令
时间: 2023-11-28 17:09:32 浏览: 349
汇编语言中的int 21h指令是DOS中断21h,用于与操作系统进行交互。它可以执行许多不同的操作,如文件读写、屏幕输出、键盘输入等。在8086/8088处理器中,操作系统是DOS,因此int 21h指令是与DOS交互的主要方式。通过设置寄存器AH的值来指定所需的操作,并将其他必要的参数传递给其他寄存器。例如,如果要在屏幕上输出文本,可以将AH设置为09h,并将要输出的文本的地址存储在DX寄存器中,然后调用int 21h指令。
相关问题
汇编语言int 21H
汇编语言中的int 21H是一个中断指令,用于调用DOS系统的功能。通过设置寄存器AH的值来选择不同的功能,然后使用int 21H指令触发相应的中断子程序。在你提供的代码中,使用了int 21H的2号功能,即将要输出的字符放入DL寄存器中,然后通过int 21H指令进行输出。你观察到每次使用完2号功能后,AL寄存器的值会变为DL寄存器的值。这是因为在2号功能中,AL寄存器并没有被使用到,而DL寄存器被用来存储要输出的字符。因此,AL寄存器的值会被DL寄存器的值覆盖。\[1\]
在你提供的第二段代码中,如果删除了中间的int 21H指令,那么输出的结果应该是40,因为在这段代码中,AL寄存器的值被设置为30h,然后通过mov指令将AL的值赋给DL寄存器,最后通过int 21H指令输出DL寄存器的值。因此,如果删除了中间的int 21H指令,DL寄存器的值仍然是30h,输出的结果就是40。\[2\]
总结来说,汇编语言中的int 21H指令用于调用DOS系统的功能,通过设置寄存器的值来选择不同的功能。在使用2号功能时,要将要输出的字符放入DL寄存器中,而AL寄存器的值不会被使用到。如果删除了中间的int 21H指令,输出的结果会受到影响。\[1\]\[2\]
#### 引用[.reference_title]
- *1* *2* [汇编语言int 21h的2号功能使用后al值被改变](https://blog.csdn.net/qq_52151761/article/details/127271748)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [【汇编】 INT 21H 命令](https://blog.csdn.net/mid_Faker/article/details/112271486)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
汇编语言中int 21h
在汇编语言中,int 21h是一条中断指令,用于调用DOS系统的功能。具体来说,它可以实现文件读写、屏幕输出、键盘输入等操作。
当程序执行到int 21h指令时,CPU会暂停当前程序的执行,转而执行DOS系统中对应的功能。执行完毕后,CPU会返回到原来的程序继续执行。
需要注意的是,int 21h指令的具体功能由AH寄存器中的值决定。不同的值对应不同的功能。
阅读全文