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

我的博客

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

[2009-02-04 23:21] 检测点9.3作业

测试通过
assume cs:code
code segment
  start:mov ax,2000H
        mov ds,ax
        mov bx,0
      s:mov cl,[bx];把当前内存写入CL
        mov ch,0
        inc cx;由于LOOP判断前会减1,所以增加1
        inc bx;指向下一个内存地址
        loop s;CX先减1,若不为零,跳转到s
     ok:dec bx
        mov dx,bx
        mov ax,4c00H
      ...
阅读全文 | 评论次数(1) | 浏览次数(777) | 所属类型(汇编作业)

[2009-02-04 22:46] 检测点9.2作业

测试通过
assume cs:code
code segment
  start:mov ax,2000H
        mov ds,ax
        mov bx,0
      s:mov cx,ds:[bx];把查找的位置的字写入CX
        mov ch,0;去掉高位的值
        jcxz ok;如果CX=0,跳转到OK
        inc bx;下一个搜索位置
        jmp short s
     ok:mov dx,bx
        mov ax,4c00H
        int 21H
code ends ...
阅读全文 | 评论次数(1) | 浏览次数(812) | 所属类型(汇编作业)

[2009-02-01 10:29] 检测点9.1作业

全部测试通过
(1)
assume cs:code
data segment
 db 5,0,0,5,5,5
 ;跳转的位置是bx+1,由于bx=0,因此,要保证1的位置
 ;也就是第二个位置起一个字的位置(即两个字节)
 ;必须为0才能在段间转移到start的位置
 ;至于其他位可以任意填写,长度也可以任意指定
data ends
code segment
  start:mov ax,data
        mov ds,ax
        mov bx,0
        jmp word ptr [bx+1]
code ends
end start ...
阅读全文 | 评论次数(1) | 浏览次数(799) | 所属类型(汇编作业)

[2009-01-20 09:52] 第八章测试顺利通过

经过仔细推敲和上机测试,所有4道题全部一次性答对:

下列指令序列不能够实现把内存地址0:202h中的字节数据送入al功能的是 3。
 1、  mov ax,0 
     mov ds,ax 
     mov bx,202h 
     mov al,[bx] 
 2、  mov ax,0 
     mov ds,ax 
     mov bx,200h 
     mov al,[bx+2] 
 3、  mov ax,0 
     mov ds,ax 
     mov bp,202h 
     mov al,[bp] 
bp在未指定的时候默认段地址为...
阅读全文 | 评论次数(1) | 浏览次数(577) | 所属类型(学习心得)

[2009-01-20 08:55] 第八章实验任务

上机调试通过:

assume cs:codesg

data segment
  db '1975','1976','1977','1978','1979','1980','1981','1982','1983'
  db '1984','1985','1986','1987','1988','1989','1990','1991','1992'
  db '1993','1994','1995'
  ;以上是表示21年的21个字符串(从00H到21*4=54H:53H)
  dd 16,22,382,1356,2390,8000,16000,24486,50065,974...
阅读全文 | 评论次数(2) | 浏览次数(796) | 所属类型(汇编作业)

[2009-01-05 06:36] 第七八章要记住的一些数据

and al,11011111b ASC字母转换为大写(也可写00DFH) 
or  al,00100000b ASC字母转换为小写(也可写0020H)

用寄存器表示内存地址,只能使用BX/BP/SI/DI四种寄存器
复用只能使用BX+SI/BX+DI/BP+SI/BP+DI四种形态
BX和BP不能复用的原因可能是在没有特殊指明的时候默认段地址不同
有BX时候默认为DS的段地址,有BP时默认为SS的段地址
SI和DI不能复用的原因不明...
阅读全文 | 评论次数(0) | 浏览次数(577) | 所属类型(关键备忘)

[2009-01-05 06:28] 两次才通过第七章测试

第7章汇编测试题目 

共3道单选题目 

     生成EXE之后用Debug加载后,查看寄存器内容如下: 
     ds=0b2d es=0b2d ss=0b3d cs=0b3e ip=0000 
     程序的起始地址的段地址是 3。 
程序的起始地址应该是ds+10h,也就是0b3dh
第一次答题没有看清楚题目,粗心了,问的是程序的起始地址
CS指向的是指令的起始地址的段地址,若指令放在程序开始,那么程序的起始地址就等于指令的起始地址的段地址,否则程序的起始地址有可能是数据的段地址,也有可能是堆栈的段地址。
 1、  0b3e 
 2、  0b2d 
 3、...
阅读全文 | 评论次数(1) | 浏览次数(736) | 所属类型(学习心得)

[2009-01-04 20:39] 第七章实验任务

程序调试通过:

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,datasg
       mov ds,ax
       mov...
阅读全文 | 评论次数(1) | 浏览次数(567) | 所属类型(汇编作业)

[2009-01-04 11:04] 第六章实验任务

全部上机测试通过
1、
23 01 56 04 89 07 BC 0A EF 0D ED 0F BA 0C 87 09
0B67 0B66 0B65
X-2 X-1

2、
23 01 56 04 00 00 00 00 00 00 00 00 00 00 00 00
0B67 0B66 0B65
X-2 X-1
若N小于16,则为16,大于16,则补齐不足16倍数的数量

3、
23 01 56 04 00 00 00 00 00 00 00 00 00 00 00 00
0B65 0B69 0B68
X+3 X+4

4、如果前面3题都把END START...
阅读全文 | 评论次数(2) | 浏览次数(547) | 所属类型(汇编作业)

[2009-01-04 09:38] 做了3遍终于通过第六章测试

第一遍错了2道,第二遍又错了2道。
在Intel8086环境下,下列说法合理的是 3。 
 1、  汇编语言程序载入内存后处于64K空间以外的数据和指令将无法使用和执行。 
      可以通过改变段地址访问和执行64K空间以外的数据和指令
 2、  一个数据段命名为data,此标号代表这个数据段在内存中的起始地址。 
      一个数据段命名为data,此标号代表这个数据段在内存中的起始地址的段地址
 3、  如果载入的程序没有返回语句,那么当程序代码执行完毕,将继续读取后续内存空间存储的指令到CPU内部作为指令执行下去,直到遇到返回指令为止。 
 4、  用DW和DD定义进...
阅读全文 | 评论次数(3) | 浏览次数(609) | 所属类型(学习心得)
『 查看更多文章 』