panzhen 发表于 2020-11-30 13:10:59

13.3的例子不能屏显

书上代码运行发现只显示一个叹号,才发现没有安装int 7ch,
于是自己补全代码,附上安装中断,但是发现连一个叹号都没有了。
代码感觉没有错误。

电脑环境:X64位,win10系统
编译环境:VSCODE,安装的插件
插件名称: MASM/TASM
ID: xsro.masm-tasm
说明: DOS汇编语言开发环境和语法支持,win下安装即用,自带DOSBox.exe和TASM/MASM工具
版本: 0.6.1

感觉这步不解决,以后的所有显屏都无会没有效果。不知道代码到底对错。

代码如下:


assume cs:code
code segment
start:      mov ax,cs
            mov ds,ax
            mov si,offset xunhuan
            mov ax,0
            mov es,ax
            mov di,200h
            mov cx,offset xunhuango - offset xunhuanend
            cld
            rep movsb

            mov ax,0
            mov es,ax
            mov word ptr es:,200h
            mov word ptr es:,0
            
            mov ax,0b800h
            mov es,ax
            mov di,160*12

            mov bx,offset xianshi - offset xianshiend
            mov cx,80
xianshi:    mov byte ptr es:,'!'
            add di,2
            int 7ch
xianshiend: nop

            mov ax,4c00h
            int 21h

xunhuan:    push bp
            mov bp,sp
            dec cx
            jcxz xunhuango
            add ,bx
xunhuango:pop bp
            iret
xunhuanend: nop
code ends
end start

wtchou 发表于 2020-12-2 15:46:59

assume cs:code
code segment
start:      mov ax,cs
            mov ds,ax
            mov si,offset xunhuan
            mov ax,0
            mov es,ax
            mov di,200h
          mov cx,offset xunhuanend - offset xunhuan
            cld
            rep movsb

改红色部分

panzhen 发表于 2020-12-9 15:39:11

wtchou 发表于 2020-12-2 15:46
assume cs:code
code segment
start:      mov ax,cs


原来是马虎了,谢谢了。看的真仔细,
页: [1]
查看完整版本: 13.3的例子不能屏显