鱼C论坛

 找回密码
 立即注册
查看: 25684|回复: 206

王爽汇编问题

[复制链接]
发表于 2016-12-4 11:05:09 | 显示全部楼层 |阅读模式

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

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

x
王爽汇编问题
人生日历截图20161204105858.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-12-4 11:06:00 | 显示全部楼层
王爽汇编问题
人生日历截图20161204105819.png
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-6 21:35:04 | 显示全部楼层
本帖最后由 wyuri 于 2016-12-6 22:15 编辑

谢谢,非常感谢, 不好意思,应该经常动手,谢谢,辛苦了,一会我研究研究怎么加分
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-6 22:24:32 | 显示全部楼层
人造人 发表于 2016-12-4 13:16
并没有从栈低出来呀,你指的是?

这个怪我,是我看错了,这个怪我不仔细,感谢感谢太感谢了,如果不说,我还不仔细看题呢。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-7 11:19:34 | 显示全部楼层
本帖最后由 wyuri 于 2016-12-7 11:29 编辑


不好意思  还要问您点问题
王爽汇编第五章实验4
(3)
下面的程序的功能是将“mov ax,4c00h”之前的指令复制到内存 0:200处,不全程序上级调试,跟踪运行结果。
assume cs:code
code segement
         mov ax,code
         mov ds,ax
         mov ax,20h
         mov es,ax
         mov bx,0
         mov cx,18h
    s:mov al,[bx]                   我做的是把al改成ax
         mov es:[bx],al               我做的是把al改成ax
         inc bx                                                            我inc的是一次又不影响结果为什么没有这么做的
         loop s                                                     
         mov ax,4c00h
         int 21h
code ends                                 拜托看完整个叙述再来解释好么
end
还有第五章实验4
(1)
向内存 0:200~0:23f 一次传送数据 0~63(3fh)。
我这样做
assume cs:code
code segment
         mov ax,20h
         mov ds,ax
         mov bx,0
         mov cx,40h
s:       mov [bx],bx
         inc bx
         loop s
         mov ax,4c00h
         int 21h
code ends
end
还有第五章的5.8
将内存ffff:0~ffff:b 单元中的数据复制到 0:200~0:20b 单元中。
我这样做的而且上机跟踪结果是正确,但是为什么在书上和很多网上的答案里没有我这样的?
assume cs:code
code segment
         mov ax,0ffffh
         mov ds,ax
         mov ax,20h
         mov es,ax
         mov bx,0
         mov cx,6
  s:     mov ax,[bx]
         mov es:[bx],ax
         inc bx
         inc bx
         loop s
         mov ax,4c00h
         int 21h
code ends
end
我跟踪的结果都是正确的,但是网上没有一个这么做的 ,我怕我是错的,只是侥幸对。
别说两个操作对象位数不一直,不匹配那下面的图片怎么解释。谢谢了,辛苦再看看什么鬼的密密麻麻
QQ截图20161206144551.png
QQ截图20161206144621.png
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-7 13:47:38 | 显示全部楼层
本帖最后由 wyuri 于 2016-12-7 14:02 编辑
人造人 发表于 2016-12-7 13:33
下面的程序的功能是将“mov ax,4c00h”之前的指令复制到内存 0:200处,不全程序上级调试,跟踪运行结果 ...


为什么不是a+s  而是(b-a)/2,     (b-a)/2是什么意思,没太看懂   
  我好像明白点了,“a:”和“b:”表示在这个段所在的位置,而不是长度,那么应该是 mov cx,b   啊,  怎么是 mov cx,(b-a)/2呢

麻烦解释解释,辛苦了

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-7 13:53:21 | 显示全部楼层
本帖最后由 wyuri 于 2016-12-7 14:07 编辑
人造人 发表于 2016-12-7 13:46
(1)
向内存 0:200~0:23f 一次传送数据 0~63(3fh)。
我这样做


但是我inc了一次就把之前的结果给盖住了

当bx = 1时                                                 inc
ds:1 = 0x01                                             bx+1
ds:2 = 0x00                                             ds:2    这个地方的位置就被盖住了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-7 14:30:37 | 显示全部楼层
人造人 发表于 2016-12-4 13:30
是谁告诉你段寄存器这样用的?

我只知道段寄存器这样用

王爽汇编第三章3.4 (3)
QQ截图20161207142739.png
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-7 15:00:07 | 显示全部楼层
本帖最后由 wyuri 于 2016-12-7 15:04 编辑

[quote]人造人 发表于 2016-12-7 13:53
标号可以理解为指令的地址
在下面的指令地址大于上面的
也就是
今天上传不了图片了,明天发图给您


这个位置是不是就是b所在的位置
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-8 11:17:51 | 显示全部楼层
本帖最后由 wyuri 于 2016-12-8 12:33 编辑
人造人 发表于 2016-12-7 17:40
看图,
mov ax, 0026
mov cx, 0000


疯了,您看看这个问题
又不让加载了,明天在放图片吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-8 11:23:06 | 显示全部楼层
本帖最后由 wyuri 于 2016-12-8 13:21 编辑
人造人 发表于 2016-12-7 17:40
看图,
mov ax, 0026
mov cx, 0000


你好,您看看这个地址是不是b的位置啊,因为答案是18h,所以我在想是不是就是b的位置。如果是inc bx的话

而您的这个是 add bx,2  cx处应该是b/2  感觉加a 有点多余   不过觉得要是这么做的话,觉得 cx应该是c  而不是13H啊
QQ截图20161207143450.png
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-8 13:23:14 | 显示全部楼层
本帖最后由 wyuri 于 2016-12-8 13:34 编辑


我才看到是 add bx,2   看题太不仔细了   不好意思



谢谢 谢谢   非常感谢,,辛苦辛苦,总是回答,这些基础问题
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-9 20:50:40 | 显示全部楼层

谢谢,总是能及时答复,谢谢,辛苦,小甲鱼应该弄个钱包功能,过个年节这里也可以热闹热闹
问题.jpg
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-10 20:25:22 | 显示全部楼层
人造人 发表于 2016-12-9 23:55
第二题
1ah 栈空间完全够用

照你这么说 sp=12h 也够,关键是向计算机要了那么多栈空间,栈是空的,就得指向24h啊。  这个解释解释吧  蒙了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-10 20:30:11 | 显示全部楼层
人造人 发表于 2016-12-9 23:55
第二题
1ah 栈空间完全够用

怎么办你成了专职老师
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-10 20:34:19 | 显示全部楼层
人造人 发表于 2016-12-10 20:28
不指向24h也行啊,你完全可以把定义改小一点或者指向24h

“ ”这个里只能放一个字节么
问题2.jpg
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-10 20:35:50 | 显示全部楼层
本帖最后由 wyuri 于 2016-12-10 20:39 编辑
人造人 发表于 2016-12-10 20:30
记住,在这个世界上没有标准答案,只有正确答案^_^(那什么是正确呢? 你说是正确,就是正确)
正确就行


关键我现在还没有到那个能力,我根本不知道有些我想的究竟允许不允许,所以才来找您,而且我用debug调试是正确的,我如果有疑问也不太敢认为思路就是正确的,也许是凑巧,谢谢了,辛苦
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-10 20:42:37 | 显示全部楼层
人造人 发表于 2016-12-10 20:39
你试一下不就知道了,反正又不会弄坏什么

用debug试了正确,如果有疑问也不能完全相信自己的思路是正确的,毕竟对这东西头一回见到,也许是凑巧,从高手那得到确切的说法,心里会踏实些。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-10 21:19:51 | 显示全部楼层
本帖最后由 wyuri 于 2016-12-10 21:27 编辑
人造人 发表于 2016-12-10 20:39
你试一下不就知道了,反正又不会弄坏什么

这个明白怎么回事了,我忘记加10H了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-10 21:33:44 | 显示全部楼层

谢谢谢谢,我也在试,不过没有您的简便,谢谢谢谢谢谢,辛苦
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-1 21:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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