汇编语言中执行 MOV AH,02H INT 21H 后AL的值为什么会改变?急,在线等!

2024-12-19 11:12:48
推荐回答(3个)
回答1:

中断后会调用对应中断号的服务程序,在中断服务程序中会使用ax而没有对ax进行现场保护,返回会改变,通常也把函数的返回值放到ax中。所以调用前要对ax进行保护,可以执行前压入堆栈PUSH AX,执行后再弹出POP AX。

回答2:

是 21h 中断的 02h 功能在返回时, 将刚才显示输出的字符返回在 al 寄存器里了

回答3:

赞同楼上