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

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
  •  虽然后悔耽误了前几年,但我决定抓住现在,争取掌握未来,让将来不再后悔!
  • 『姓名』:小兰                
  • 『性别』:保密  『发送消息
  • 个人说明:未婚并暂时还没有女朋友
  • 详细信息『加为好友』
学习动态
友情链接

[2008-06-01 22:06] 第七章实验6解题

编程,将datasg段中的每个单词的前四个字母改为大写字母

assume cs:codesg,ss:stacksg,ds:datasg

stacksg segment
        dw 0,0,0,0,0,0,0,0
stacksg ends

datasg segment
        db '1. display      '
        db '2. brows        '
        db '3. replace      '
        db '4. modify       '
datasg ends

codesg segment
start:        mov ax,stacksg
        mov s...
阅读全文 | 评论次数(1) | 浏览次数(906) | 所属类型(汇编作业)

[2008-05-29 02:22] 第六章实验5解题

(1)将下面的程序编译连接,用Debug加载、跟踪,然后回答问题:

assume cs:code,ds:data,ss:stack

data segment
        dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
data ends
stack segment
        dw 0,0,0,0,0,0,0,0
stack ends

code segment
start:        mov ax,stack
        mov ss,ax
        mov sp,16
        mov ax,data
        mov ds,ax
        push ds:[0]
        ...
阅读全文 | 评论次数(3) | 浏览次数(906) | 所属类型(汇编作业)

[2008-05-28 08:27] 检测点6.1解题及一点迟到的发现!

点击查看原图
(1) 下面的程序实现依次用内存0:0~0:15单元中的内容改写程序中的数据,完成程序:

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        ;填空程序
        add bx,2
        loop s

        mov ax,4c00h
        int 21h

codesg ends
end start...
阅读全文 | 评论次数(1) | 浏览次数(1022) | 所属类型(汇编作业)

[2008-05-27 10:10] 第五章实验四解题

(1)(2)题,编程,向存存0:200~0:23F依次传送数据0~63(3FH),程序中只能使用9条指令,包括"mov ax,4c00h"和"int21h"

assume cs:code
code segment

        mov ax,0020h
        mov ds,ax
        mov bx,0000h
        mov cx,64        ;循环次数     

s:        mov [bx],bl        ;将bl中的数据传送到DS:[BX]
        inc bx                ;将BX中的数据加1
        loop s

        mov ax,4c00h
        int 21h

code ends
end


(3)下面...
阅读全文 | 评论次数(3) | 浏览次数(918) | 所属类型(汇编作业)

[2008-05-26 13:19] 实验2解题及分析

点击查看原图
因图片大小关系,第一题只DEBUG只截出数据和指令,第二题只截出一个栈段地址。


(1) 使用Debug,将下面的程序段写入内存,逐条执行,根据指令执行后的实际运行情况填空

-d ffff:0 f
FFFF:0000 EA 5B E0 00 F0 30 39 2F-30 37 2F 30 34 00 FC 8B

mov ax,ffff ;将数据FFFF传送到寄存器AX
mov ds,ax   ;将寄存器AX中的数据传送到段寄存器DS
mov ax,2200 ;将数据2200传送到寄存器AX
mov ss,ax   ;将寄存器AX中的数据传送到栈寄存器,定义栈段SS=...
阅读全文 | 评论次数(2) | 浏览次数(814) | 所属类型(汇编作业)

[2008-05-26 08:02] 检测点3.2解题及疑问

点击查看原图
注:上传的图片为我在两次修改完内存中的数据和输入程序后截的,我不能在debug中运行完所有指令,一运行指令debug就自动退出了。不知道是否是我的操作有误或下面程序补全错误,还望大家多多指点一下,谢谢!(是否还有别的原因?如我的电脑正有程序数据在10000H~10000FH和20000H~2000FH中,因为-d 1000:0 f显示的数据是我修改过的方便观察,但我在修改时发现这段地址中有其它数据。)

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

mov ...
阅读全文 | 评论次数(3) | 浏览次数(940) | 所属类型(汇编作业)

[2008-05-26 04:10] 推荐博文 检测点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,[0000]        AX=2662H        将内存单元0010H...
阅读全文 | 评论次数(7) | 浏览次数(1495) | 所属类型(汇编作业)

[2008-05-24 18:49] 检测点2.3解题及思路

下面的3条指令执行后,CPU几次修改IP?都是在什么时候?最后IP中的值是多少?

mov ax,bx
sub ax,ax          (sub命令?未知命令,暂当add命令理解)
jmp ax

答:CPU共4次修改IP,前三次修改在读取完每一条指令后,最后一次修改在执行完jmp ax指令后,最后IP中的值是ax中的值

解:因为已知的CPU工作过程为以下三步:
1.从CS:IP指向的内存单元读取指令,读取的指令进入指令缓冲器;
2.IP指向下一条指令'
3.执行指令(转到步骤1,重复此过程)
所以得知IP的修改是在读取的指令进入指令缓冲器后修改的,而不是在指令...
阅读全文 | 评论次数(2) | 浏览次数(811) | 所属类型(汇编作业)

[2008-05-24 16:21] 检测点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,求段地址最小...
阅读全文 | 评论次数(2) | 浏览次数(423) | 所属类型(汇编作业)

[2008-05-23 18:56] 检测点2.1答题,有点疑问,望前辈们指点下

(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        将寄存器AX中的数值传送给寄存器CX
mov ax...
阅读全文 | 评论次数(6) | 浏览次数(438) | 所属类型(汇编作业)
页码数(2):  1  2