鱼C论坛

 找回密码
 立即注册
查看: 2276|回复: 3

王爽 汇编语言 实验13第二题

[复制链接]
发表于 2013-10-20 23:55:44 | 显示全部楼层 |阅读模式
10鱼币

  1. assume cs:code                                 ;安装int 7c00h中断例程

  2. code segment
  3. start: mov ax, 0
  4.     mov es, ax
  5.     mov di, 200h

  6.      mov ax, code
  7.      mov ds, ax
  8.      mov si, offset ip

  9.      mov cx, offset ipend-offset ip
  10.      cld
  11.      rep movsb

  12.      mov ax,0
  13.      mov es, ax
  14.      mov word ptr es:[7ch*4],200h
  15.      mov word ptr es:[7ch*4+2],0

  16.      mov ax, 4c00h
  17.      int 21h

  18. ip: push bp
  19.      mov bp, sp
  20.      dec cx
  21.      jcxz ipret
  22.      add [bp+2],bx
  23.      ipret: pop bp
  24.      iret


  25. ipend: nop

  26. code ends
  27. end start
复制代码
一下代码为书上的

复制代码
  1. assume cs:code

  2. code segment

  3. start:mov ax, 0b800h
  4.        mov es, ax
  5.        mov di, 160*12

  6.        mov bx, offset se-offset s
  7.        mov cx, 80

  8. s:      mov byte ptr es:[di],'!'

  9.         mov byte ptr es:[di+1],2
  10.         add di, 2
  11.         int 7ch
  12. se:   nop

  13.         mov ax, 4c00h
  14.         int 21h
  15. code ends
  16. end start
复制代码
目的是在屏幕中间显示80个‘!’
以下是运行结果
要么
QQ截图20131020234938.png
要么就是直接关闭。。。。反正就是达不到预期目标
不懂错哪。。。

最佳答案

查看完整内容

栈越界,可能发生异常,在这里正常工作。 逻辑错误出现在add , bx处。 观察调试结果,可以得出此处应为sub , bx 因为偏移是往前面偏移,而不是后面。 emu8086调试结果 关于无效指令是由于你在windows下安装中断是不被允许的 windows下的保护机制涉及到80386CPU的一些特性 windows的保护机制规定某些地址是不可以被改变的 如果必须要在windows下运行,DOSBOX可以实现。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-10-20 23:55:45 | 显示全部楼层
栈越界,可能发生异常,在这里正常工作。

逻辑错误出现在add [bp+2], bx处。
观察调试结果,可以得出此处应为sub [bp+2], bx
因为偏移是往前面偏移,而不是后面。
emu8086调试结果

关于无效指令是由于你在windows下安装中断是不被允许的
windows下的保护机制涉及到80386CPU的一些特性
windows的保护机制规定某些地址是不可以被改变的
如果必须要在windows下运行,DOSBOX可以实现。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-10-21 12:34:09 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-12-12 11:18:39 | 显示全部楼层
书上代码就没有这一句“mov byte ptr es:[di+1],2”
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-4 14:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表