汇编网首页登录博客注册
zqbaord的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
最新留言
好友圈
文章收藏
友情链接

[2009-10-25 20:11] 第六章实验(5)、(6)

(5)
assume cs:code 
a segment 
   db 1,2,3,4,5,6,7,8 
a ends 
b segment 
   db 1,2,3,4,5,6,7,8 
b ends 
c segment 
   db 0,0,0,0,0,0,0,0 
c ends 
code segment 
start:mov ax,a             //得到a段地址 
      mov ds,ax 
      mov ax,b              //得到b段地址 
      mov es,ax 
      mov cx,8 ...
阅读全文 | 评论次数(0) | 浏览次数(168) | 所属类型(汇编作业)

[2009-10-25 09:50] 第六章实验5(4)

如果将1.2.3题中的最后一条伪指令"end start"改为"end"(也就是说,不指明程序的入口),则那个程序依然可以正确执行?
第3个仍然可以正确执行。因为如果把end指令后的标号start去掉后,编译器便会顺序执行程序。换句话说:当未给编译器预先的通知,要求其从哪开始执行程序时,编译器就自动默认从第一行进行编译执行源程序...
阅读全文 | 评论次数(0) | 浏览次数(226) | 所属类型(汇编作业)

[2009-10-24 22:25] 第六章实验5(3)

(1)CPU执行程序,程序返回前,data段中的数据不变。
(2)CPU执行程序,程序返回前,CS=13C0 SS=13C0 DS=13B0
(3)设程序加载后,code段的段地址为X,则DATA段的段地址为:X+3
STACK地址为X+4。...
阅读全文 | 评论次数(0) | 浏览次数(219) | 所属类型(汇编作业)

[2009-10-24 20:34] 第六章 实验5(2)

(1)CPU执行程序,程序返回前,DATA段中数据为不变。
(2)CPU执行程序,程序返回前,cs=13c2 ss=13c0 ds=13b0
(3)设程序加载后,CODE段的段地址为X,则DATA段的段地址为X-2,stack段的段地址为X-1,(ds=data ss=stack cs=code)
(4)对于如下定义的段:name segment
                    .....
                    name ends
如果段中的数据占N个字节,则程序加载后,该段实际占有的空间为:(N/16+1)*16 (一个段最小为16字节,而且是16字节的...
阅读全文 | 评论次数(0) | 浏览次数(211) | 所属类型(汇编作业)

[2009-10-18 15:01] 第六章检测点6.1(2)

assume cs:codesg

codesg segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
dw 0,0,0,0,0,0
start:mov ax,cs
       mov ss,ax
       mov sp,1ah
       mov ax,0
       mov ds,ax
       mov bx,0
       mov cx,8
    s:push [bx]
      pop cs:[bx]
      add bx,2
      loop s
      m...
阅读全文 | 评论次数(1) | 浏览次数(237) | 所属类型(汇编作业)

[2009-10-16 21:46] 第六章检测点6.1(1)

assume sc:codesg
codesg segment
    dw 0123H,0456H,0789H,0abcH,0defH,0fedH,0cbaH,0987H
start: mov ax,0 
       mov ds,ax     ax作中转,将ds指向0
       mov bx,0      bx设为0  ds:bx即指向0:0
       mov cx,8     cx设为8,循环8次改写8个内容 
    s: mov ax,[bx]   ds:[bx]处的内容放到ax寄存器中
        mov cs:[bx],ax  bx现在为0,cs:0...
阅读全文 | 评论次数(1) | 浏览次数(198) | 所属类型(汇编作业)

[2009-08-23 16:32] 第三章检测点3.1(2)

(1)写出CPU执行的指令序列(用汇编指令写出)
mov ax,6622H
jmp 0ff0:0100   (mov cs,0ff0 mov ip,0100)
mov ax,2000H
mov ds,ax
mov ax,[0008]
mov ax,[0002]
(2)写出CPU执行每条指令后,CS、IP和相关寄存器中的数值。
mov ax,6622H  ax=6622H  ds=1000H cs=2000H IP=0003
jmp 0ff0:0100 ax=6622H  ds=1000H cs=1000H IP=0000
mov ax,2000H  ax=2000H  ds...
阅读全文 | 评论次数(1) | 浏览次数(265) | 所属类型(汇编作业)

[2009-08-22 18:26] 第三章检测点3.1(1)

(1)在Debug中 用 “d 0:0 1f”查看内存,结果如下:
0000:0000 70 80 F0 30 EF 60 30 E2-00 80 80 12 66 20 22 60   
0000:0010 62 26 E6 D6 CC 2E 3C 3B-AB BA 00 00 26 06 66 88 
下面的程序执行前,AX=0,BX=0,写出每条汇编指令执行完后相关寄存器中的值.
mov ax,1        ax=1
mov ds,ax       ds=1
mov ax,[0000]   ax=2662 (mov ax,1 mov ds,ax 之后,ds的值为1.此时数...
阅读全文 | 评论次数(1) | 浏览次数(251) | 所属类型(汇编作业)

[2009-08-16 16:44] 第二章检测点2.3

下面的3条指令执行后,CPU几次修改IP?都是在什么时候?最后IP中的值是多少?
mov ax,bx  第一次修改IP
sub ax,ax  第二次修改IP(sub,ax,ax==ax=ax-ax)
jmp ax     读入时第三次修改IP执行后第四次修改IP.
最后IP的值是0....
阅读全文 | 评论次数(1) | 浏览次数(224) | 所属类型(汇编作业)

[2009-08-14 11:54] 第二章检测点2.2

(1)给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为00010H到1000FH. 
物理地址=段地址*16(16是十进制,它的十六进制就是10H)+偏移地址
(2)有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元。则SA应满足的条件是:最小为:1001H 最为:2000H
(最小:SA应满足的最小值为(20000H—ffffH)/16=10001H不行.但是SA*16最后那位一定是0这样10001肯定是不对了那要是想让最后一位是0的话只能是偏移地址最后一位是0所应该是FFF0H )...
阅读全文 | 评论次数(1) | 浏览次数(296) | 所属类型(汇编作业)
页码数(2):  1  2