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

我的博客

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

[2011-01-07 16:18] 实验4

实验4:编程,向内存0:200~0:23F依次传送数据0~63
assume cs:code
code segment
     mov ax,0020h
     mov ds,ax      
     mov bx,0       ;DS:BX=0020:0
     mov cx,64      ;CX=64,循环次数
      s:mov [bx],bl
     inc ex
     loop s
     mov ax=4c00h
     int 21h
code ends
end

2、同上,使用9条指令实现,代码相同。

3、调试程序补...
阅读全文 | 评论次数(0) | 浏览次数(521) | 所属类型(汇编作业)

[2011-01-03 14:58] 实验3

点击查看原图
assume cs:codesg
codesg segment
       mov ax,2000h
       mov ss,ax
       mov sp,0
       add sp,10
       pop ax
       pop bx
       push ax
       push bx
       pop ax
       pop bx

       mov ax,4c00
       int 21
codesg ends
end

编译连接的过程就不多说了。直接进入调试过程

C:\DOCUME~1\ADMINI...
阅读全文 | 评论次数(0) | 浏览次数(544) | 所属类型(汇编作业)

[2011-01-02 15:08] 第三章实验任务

MOV AX,FFFF
MOV DS,AX

MOV AX,2200
MOV SS,AX
MOV SP,0100

MOV AX,[0]   ;AX=5BEA
ADD AX,[2]   ;AX=5CCA
MOV BX,[4]   ;BX=31F0 --有人这里是30F0,导致后续结果都不同
ADD BX,[6]   ;BX=6121


PUSH AX      ;SP=00FE,内存地址2200:00FE,内容5CCA
PUSH BX      ;SP=00FC,内存地址2200:00FC,内容6121
POP AX       ;SP=00FE,AX=6121...
阅读全文 | 评论次数(0) | 浏览次数(584) | 所属类型(汇编作业)

[2011-01-01 16:37] 检测点3.2 注释周全

补全程序
虚线为补全内容
  MOV AX,1000H  
  MOV DS,AS    设置数据段的段地址为1000H
--MOV AX,2000H 
--MOV SS,AX    设置栈段的段地址为2000H
--MOV SP,0010H 设置栈顶为0010H,2000:000E,000E+2=0010
  PUSH [0]
  PUSH [2]
  PUSH [4]
  PUSH [6]
  PUSH [8]
  PUSH [S]
  PUSH [C]
  PUSH [E]
这题开始我疑惑了一下,为什么要PUSH 0 2 4 6 8,后来才想起来整个数据段是...
阅读全文 | 评论次数(0) | 浏览次数(525) | 所属类型(汇编作业)

[2010-09-12 16:47] 检测点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
mov dx,ax
mov ax,[0000]  ax=2662
mov bx,[0000]  bx=e626
mov ax,bx      ax=e626
mov ax,...
阅读全文 | 评论次数(0) | 浏览次数(537) | 所属类型(汇编作业)

[2010-09-10 15:46] 第二章实验一

使用debug,将程序段写入内存,观察寄存器的变化。
这个简单用A命令指定一下地址。在输入汇编指令。感觉用A命令方便一些,然后再用R指令修改CS:IP。最后用T命令单步执行看结果即可

第二用3条指令输入,计算2的8次方,也就是256,16进制的100.
同样用A命令指定输入的地址。在输入汇编指令。在用R命令修改CS:IP。最后用T单步执行,循环几次即可到100.但这里不知道是不是需要写出详细的指令。因为这里牵扯到循环,估计仅仅是让你观察。

第三查看内存的内容,这个PC主板的时间是无法修改的,只能读取。我看到我的机器里的显示信息是09-11-30

向内存输入数据。经过多次比...
阅读全文 | 评论次数(0) | 浏览次数(532) | 所属类型(汇编作业)

[2010-09-04 15:17] 检测点2.3

MOV AX,BX
SUB AX,AX
JMP AX
上面的3条指令执行后,IP被修改几次,最后数值多少

看到这个题目开始错误了一下,认为仅仅是最后的JMP指令修改了IP,其实在指令执行之初已经修改了IP。
第一条指令是通过读取CS,IP来执行的,这里算一次
第二条指令同样需要读取之后执行,这里算第二次
第三条指令毫无以为算一次。这里是第三次
最后是IP的数值被JMP 为IP。这里是第四次
IP自然最终等于AX

同样还疑惑了一下SUB的指令,通过百度才明白是减法。实际这里无需考虑指令含义。...
阅读全文 | 评论次数(0) | 浏览次数(514) | 所属类型(汇编作业)

[2010-08-19 15:35] 监测点2.2作业

给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围是(0010H)到(1000FH)
析:段地址=0001H*16D=0010H,CPU的寻址范围是0H-FFFFH
最小是:0010+0=0010H
最大是:0010+FFFF=1000FH

有一段数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元,则SA应满足条件是:最小是(1001H),最大是(2000H)
析:物理地址=20000H
   偏移地址的变化范围是0-FFFF
   所以减去最大就是最小。减去最小就是最大
    20000H-FFFFH=最小=10001H(段地址...
阅读全文 | 评论次数(1) | 浏览次数(961) | 所属类型(汇编作业)

[2010-08-18 12:56] 检测点2.1 检查未见错误

MOV AX,62627   AX=F4A3 (析62627转换为16进制=F4A3,其中AH=F4 AL=A3)
MOV AH,31H     AX=31A3  (析AH=31,AL=A3)
MOV AL,23H     AX=3123  (析AH=31,AL=23)
ADD AX,AX      AX=6246  (析AX=AX+AX)
MOV BX,826CH   BX=826C  (析BH=82,BL=6C)
MOV CX,AX      CX=6246  (析CH=62 CL=46)
MOV AX,BX      AX=826C  (析AH=82,AL=6C)
ADD ...
阅读全文 | 评论次数(1) | 浏览次数(803) | 所属类型(汇编作业)

[2010-08-17 10:01] 表2.3程序段

AX=001A BX=0000
mov ax,001a  ax=001a
mov bx,0026  bx=0026
add al,bl    ax=0040 (析AX=AH+AL BX=BH+BL 根据数据排位 则AL=1a bl=26,相加结果存放在AL,AL=40,则AX=0040)
add ah,bl    ax=2640 (析AH=00,AL=40,BH=00,BL=26,相加后AH=26,则AX=2640)
add bh,al    BX=4026 (析AH=26,AL=40,BH=00,BL=26,相加后BH=40,则BX=4026)
mov ah,0     AX=0...
阅读全文 | 评论次数(0) | 浏览次数(568) | 所属类型(默认类型)
『 查看更多文章 』