回 帖 发 新 帖 刷新版面

主题:汇编初学,想问个问题

.model small
.stack 
.data
  bnum db 10001011B
.code
 .startup
  mov bl,bnum
  mov cl,4
  shr bl,cl
  add bl,30h
  .if bl>39h
   add bl,7
  .endif
  mov dl,bl
  mov ah,02h
  int 21h
  mov bl,bnum
  and bl,0fh
  add bl,30h
  .if bl>39h
   add bl,7
  .endif
  mov dl,bl
  mov ah,02h
  int 21h
.exit 0
end
以上的程序代码是我参考书而改写的,功能是将一个一字节的二进制数以十六进制的形式显示屏幕上,显示的方法是调用了DOS的02中断功能。
程序在MASM611上编译,编译成功,但是在DOS运行的时候,说我的程序Required parameter missing。但是我用cv调试时,却能显示出正确结果,请教高手,究竟是为什么

回复列表 (共2个回复)

沙发

建议你把生成的EXE文件用DEBUG加载,用U反汇编出指令查看一下有没有出问题?

板凳

不知你用的是那本教材,其实在清华版的教材上,你的这个题目是个例题,写的很简单,你 不如去看一下。在第五章

我来回复

您尚未登录,请登录后再回复。点此登录或注册