我正在学习汇编,当然我正在尝试经典的 0x10 BIOS 中断。我查看的资源显示lodsb
用于打印字符串,因此为了理解我试图模仿它的行为的操作码。这适用于lodsb
,但不适用于我所拥有的。我究竟做错了什么?:
开始: mov ah, 0Eh ;用于bios中断 mov si, text_string ; 将源索引设置为 text_string 的开头 。重复: ;我试图模仿 lodsb 的行为来了解它是如何工作的: mov al, [si] ; 将 si 处的字符放入 al 寄存器 add si, 1 ;增加源索引 cmp al, 0 ;如果字符为零(字符串结尾) je done ;结束执行 int 10h ;bios 中断将字符显示在屏幕上 jmp .重复 text_string db '你好,世界!', 0 完毕: ret