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

我的博客

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

[2008-08-20 23:51] ret指令搞的我头好晕 大家指点下

p190的源程序如下: 
assume cs:codesg 

stack segment 
    db 16 dup (0) 
stack ends 

codesg segment 
    mov ax,4c00h 
    int 21h 
start:    mov ax,stack 
    mov ss,ax 
    mov sp,16 
    mov ax,0 

    push ax 

    mov bx,0 
    ret 
codesg ends 

end start 

然后 
D:\masm>debug ...
阅读全文 | 评论次数(3) | 浏览次数(974) | 所属类型(汇编作业)

[2008-08-19 09:43] 检测点 9.1 、9.2、 9.3以及一些疑问

检测点9.1

9.1.1了使IP的值经跳转后变为0,则需保证ds:[bx+1]处的字型单元数据为0000H,所以定义3个字节型数据0就符合“应该”的要求

     dw 0,0,0

9.1.2 补全程序,使jmp指令执行后,CS:IP指向程序的第一条指令。

assume cs:code,ds:data
data segment
    dd 12345678h
data ends
code segment
start:  mov ax,data
    mov ds,ax
    mov bx,0
    mov [bx],__       ; 这空不知...
阅读全文 | 评论次数(2) | 浏览次数(1009) | 所属类型(汇编作业)

[2008-08-09 11:32] 检测点6.1解题

(1).
程序的数据段,是在以CS为段地址 ,因此根据题意在写出入时,段地址就是CS,偏移地址从0H起,每次以2为步进单位的字单元内。
assume cs:codesg

codesg segment

    dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h

start:  mov ax,0

    mov ds,ax

    mov bx,0

 

    mov cx,8

s:  mov ax,[bx]

    mov cs:[bx],ax    ;此条指令为所填指令

    a...
阅读全文 | 评论次数(1) | 浏览次数(814) | 所属类型(汇编作业)

[2008-08-03 21:52] 检测点3.2解题

(1) 补全下面的程序,使其可以将10000H~1000FH中的8个字,逆序拷贝到20000H~2000FH中,逆序拷贝的含义如图3.17所示(图中内存里的数据均为假设): 

mov ax,1000H  ;传送数据到AX,AX=1000H     
mov ds,ax     ;从AX中传送数据到DS段寄存器,DS=1000H 
;补全程序如下: 
mov ax,2000H  ;传送数据到AX,AX=2000H 
mov ss,ax     ;从AX中传送数据到SS栈寄存器,定义栈段,SS=2000H 
mov sp,0010H  ;定义栈顶地址,SP=0010H,执行完后SS...
阅读全文 | 评论次数(1) | 浏览次数(795) | 所属类型(汇编作业)

[2008-08-03 00:28] 检测点3.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            将数据1传送到寄存器AX 
mov ds,ax    DS=0001H    将寄存器AX中的数据传送到段寄存器DS 
mov ax,[000...
阅读全文 | 评论次数(1) | 浏览次数(827) | 所属类型(汇编作业)

[2008-07-30 19:55] 检测点2.3个人解题思路

答:CPU修改了4次IP的值。
情况如下:
第1次:执行完mov ax,bx后
第2次:执行完sub ax,ax后
第3次:读入jmp ax后
第4次:执行完jmp ax后
最后IP的值为0
因为sub ax,ax 之后ax 为0 ,
jmp ax之后IP的值为ax的值 所以最后IP为0...
阅读全文 | 评论次数(3) | 浏览次数(371) | 所属类型(汇编作业)

[2008-07-30 19:19] 检测点2.2个人解题思路

(1) 给定段地址为0001H,公通过变化偏移地址寻址,CPU的寻址范围为 10H 到 1000FH 

解:给定段地址为0001H,侧可得出基础地址=0001H*16=10H,偏移地址16位,变化范围最小0,最大FFFFH,所以CPU的寻址范转最小为10H+0=10H,最大寻址范围为10H+FFFFH=1000FH. 

(2) 有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元,则SA应满足的条件是最小为 1001H,最大为 2000H 

解:已知数据存放在内存20000H单元中,偏移地址EA为十六位,最小范围0000H,最大FFFFH,求段地...
阅读全文 | 评论次数(1) | 浏览次数(303) | 所属类型(汇编作业)

[2008-07-30 19:03] 关于“物理地址=16*段地址+偏移地址”

终于搞懂了“物理地址=16*段地址+偏移地址”
百度来的 在pfan上面查到的 呵呵。之前我一直根据树上的数据来乘,就是不得所解。

16d=10h.
上面的这个回答好精辟 真正解我之惑

另外个回答就比较教科书,呵呵
为什么物理地址=16d*段地址+偏移地址?
因为物理地址是20位,而段寄存器是16位,普通寄存器(例如放偏移地址)也是16位
由硬件原因施行错位相加,段地址左移一位相当于扩大16倍(一位16进制数四位二进制数)...
阅读全文 | 评论次数(1) | 浏览次数(341) | 所属类型(汇编作业)

[2008-07-20 17:58] 检测点2.1个人解题思路和总结,并有点小疑问

mov ax,62627    AX=F4A3H    将十进制数值传送给寄存器AX,并用十六进制表示
mov ah,31H    AX=31A3H    将十六进制数值31H传送给寄存器AX的高八位ah 
mov al,23H    AX=3123H    将十六进制数值23H传送给寄存器AX的低八位al 
add ax,ax        AX=6246H    将寄存器AX中的值相加,并将结果存在寄存器AX中 
mov bx,826CH    BX=826CH    将十六进制数值826CH传送给寄存器BX 
mov cx,ax        CX=6246H    将寄存器A...
阅读全文 | 评论次数(3) | 浏览次数(335) | 所属类型(汇编作业)

[2008-07-19 13:29] 1.1检测点个人解题思路

1.1-1.10检测点的题和本人的解题思路,忘指证,谢谢! 

(1) 1个CPU的寻址能力为8KB,那么它的地址总线的宽度为: 13 
解:因为CPU的地址总线宽度为N,则它可以寻找2的N次方个内存单元,已知它的寻址能力为8KB,8KB=8*1024=8192个内存单元,那么地址总线宽度则可算为2的N次方等于8192,求N的结果等于13 

(2) 1KB的存储器有:1024个存储单元,存储单元的编号从:0到1023 
解:因为一个存储单元可以存储一个字节即1B,而1KB=1024B,所以为1024个存储单元,而存储单元的编号是从0开始的,所以编号是从0到1023 

(3)...
阅读全文 | 评论次数(3) | 浏览次数(452) | 所属类型(汇编作业)
页码数(1):  1