鱼C论坛

 找回密码
 立即注册
查看: 2816|回复: 7

关于那些第七章中的实验,怎么验证是否执行了呢?

[复制链接]
发表于 2012-6-23 15:56:13 | 显示全部楼层 |阅读模式
1鱼币
比如那个首字幕大写的实验,我再怎么查看呢,一下是个缩减的,我怎么看最后‘i’‘d’‘d’是否编程IDD了呢
assume cs:codesg,ds:datasg
datasg segment
        db '1.ibm   '
        db '2.dec   '
        db '3.dos   '
datasg ends

codesg segment
start:        mov ax,datasg
                mov ds,ax
                mov bx,0
               
                mov cx,3
        s:        mov al,[bx+2]
                and al,11011111b
                mov [bx+2],al
                add bx,16
                loop s
               
                mov ax,4c00h
                int 21h
codesg ends
end start
               

最佳答案

查看完整内容

先纠正你程序中的一个错误, add bx,16应该为add bx,8 想要查看结果是否正常运行是叫简单的: 1、编辑好程序后,在masm下的bin目录中编译asm程序ml ts7.asm,这里假设文件名为ts7.asm 2、命令行模式下,debug ts7.exe 3、用t命令单步执行程序,mov ds,ax这句指令执行后查看下ds的值,附件中截图是1463h,因此用d命令查看下d 1463:0,这里就能看到数据段的内容; 4、然后继续t命令单步执行程序,到程序运行到mov ax,4c00h的 ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-6-23 15:56:14 | 显示全部楼层
先纠正你程序中的一个错误, add bx,16应该为add bx,8
想要查看结果是否正常运行是叫简单的:
1、编辑好程序后,在masm下的bin目录中编译asm程序ml ts7.asm,这里假设文件名为ts7.asm
2、命令行模式下,debug ts7.exe
3、用t命令单步执行程序,mov ds,ax这句指令执行后查看下ds的值,附件中截图是1463h,因此用d命令查看下d 1463:0,这里就能看到数据段的内容;
4、然后继续t命令单步执行程序,到程序运行到mov ax,4c00h的时候,在用d命令查看d 1463:0,这个时候你能看到几个字母发生变化了,具体看rar中的截图。

第七章.rar

87.96 KB, 下载次数: 0

实验截图

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-6-23 19:04:23 | 显示全部楼层
d ds:0

1.jpg

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-6-23 21:27:04 | 显示全部楼层

bx,是16位的啊,为什么不行呢,bl是8位啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-6-23 22:44:37 | 显示全部楼层
Sky1991 发表于 2012-6-23 21:27
bx,是16位的啊,为什么不行呢,bl是8位啊

这时因为:db '1.ibm   ','1.ibm   '占8个byte,即ibm中i的存储地址同dec中d的偏移地址相差8,因此偏移地址加8,跟bl是否为8位毫无关系。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-6-24 09:10:25 | 显示全部楼层
fujian810 发表于 2012-6-23 22:44
这时因为:db '1.ibm   ','1.ibm   '占8个byte,即ibm中i的存储地址同dec中d的偏移地址相差8,因此偏移地 ...

哦~~谢谢:loveliness:,那如果我后面的空格(在单引号内的)加上前面的字符一共16位的话,这里就是16了,是嘛?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-6-24 09:32:54 | 显示全部楼层
Sky1991 发表于 2012-6-24 09:10
哦~~谢谢,那如果我后面的空格(在单引号内的)加上前面的字符一共16位的话,这里就是16了, ...

对头,恭喜你会举一反三了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-6-24 12:39:43 | 显示全部楼层
V2012 Build0601
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-8 08:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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