微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

TASM 程序挂了

如何解决TASM 程序挂了

我有以下 TASM 程序 它从地址 0x8f77fff4 读取一个整数值

它不会向屏幕打印字符并挂断(不会终止)...为什么?

即使我激活了 jmp char1 指令,它也不会终止并返回到 C:\ prompt

我更正了添加 eax,ds:[si] 以包含 ':' 的行

.MODEL SMALL
.STACK 100h
.DATA
.CODE
.386P

start:
   cld
   pushf
   push ax
   push bx
   push cx
   push dx
   push ds
   push es
   push si

; jmp char1
   mov cx,08f7h
   mov es,cx

   mov eax,es
   shl eax,15h    ;left shift 21 decimal bits

   mov ax,7000h
   mov ds,ax

   mov ax,0fff4h
   mov si,ax

   add eax,ds:[si]

   mov al,[eax]

   mov ah,9h
   mov bh,0h
   mov bl,0h
   mov cx,0h
   int 10h     ;print character to screen

;char1:

   pop si
   pop es
   pop ds
   pop dx
   pop cx
   pop bx
   pop ax
   popf

   mov ah,4ch
   mov al,0h
   int 21h      ;terminate the program

end start 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。