鱼C论坛

 找回密码
 立即注册
查看: 3546|回复: 2

第五章实验4

[复制链接]
发表于 2016-7-26 18:11:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. assume cs:code

  2. code segment

  3.         mov ax,0
  4.         mov ds,ax
  5.         mov bx,0
  6.         mov cx,3fh
  7.       s:mov [bx],bx
  8.         inc bx
  9.         loop s
  10.         mov ax,4c00h
  11.         int 21h

  12. code ends
  13. end
复制代码


代码如上用debug执行出现问题到bx=3是执行不下去
捕获.PNG
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-7-28 10:46:19 | 显示全部楼层
       第一:你的目标地址写错了 不是 0:0 ,应该是 0:200,0:0 的位置是写中断的跳转地址的。

       第二:为什么到bx等于3就执行不下去了呢,那是因为你的目标地址越界了,目标地址是有4个字节构成,你前两个字节填写的是0 1,这是目标地址的偏移地址,等你在写第三个字节,那是短地址的高位,你在那里边写了 2 那么你的 总地址最低就是 200:01 也就是 20001 ,中断机制 的目标地址 没有这么大 所以 就会出错喽 !!!!
   
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-7-28 18:38:45 | 显示全部楼层
1366627538 发表于 2016-7-28 10:46
第一:你的目标地址写错了 不是 0:0 ,应该是 0:200,0:0 的位置是写中断的跳转地址的。

        ...

嗯,地址是写错了
改过来也可以了
  1. assume cs:code


  2. code segment


  3.         mov ax,20
  4.         mov ds,ax

  5.         mov bx,0

  6.         mov cx,3fh

  7.       s:mov [bx],bx

  8.         inc bx

  9.         loop s

  10.         mov ax,4c00h

  11.         int 21h


  12. code ends

  13. end
复制代码


但是第二点不是很懂,
但是bx等于3时执行不下去还不是很明白
还没有学到中断机制,
目前在第八章!!
谢谢大神啦!!!!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-6 09:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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