zcw.. 发表于 2020-11-29 10:58:21

汇编语言17.1

我认为这个问题的答案是:对。
用debug单步中断程序,进入int 16h中断后,第一条指令就是sti。

jackz007 发表于 2020-11-29 12:17:20

      你的代码接管了 int 16?不然的话,程序是断不会因为调用一个中断就直接跑丢的。

zcw.. 发表于 2020-11-29 13:25:41

;编程:接受用户的键盘输入,输入r,将屏幕上的字符设置为红色;输入g,将屏幕上的字符设置为绿色;输入b,将屏幕上的字符设置为蓝色。
assume cs:code
code segment
start:
    mov ah,0;接受键盘输入
    int 16h
   
    mov bx,0b800h
    mov es,bx
    mov si,1
    mov cx,2000
    mov ah,1
    cmp al,'r'
    je red

    cmp al,'g'
    je green

    cmp al,'b'
    je blue

    jmp finally
red:
    shl ah,1

green:
    shl ah,1

blue:
    mov byte ptr es:,ah
    add si,2
    loop blue

finally:
    mov ax,4c00h
    int 21h

code ends
end start
接管是什么意思?
页: [1]
查看完整版本: 汇编语言17.1