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

我的博客

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

[2016-03-03 23:13] 实验14 访问 CMOS RAM

编程,以“年/月/日 时:分:秒”的格式,显示当前的日期、

时间。

assume cs:code, ds:data

data segment
  a db 9,8,7,4,2,0 ; 按规定格式对应的时间信息安排地址
  b db 'YY/MM/DD hh:mm:ss ','$'
data ends

code segment
start: mov ax,data
       mov ds,ax
       mov si,0
       mov di,0
       mov cx,6
    s: push cx
       mov al, ...
阅读全文 | 评论次数(1) | 浏览次数(879) | 所属类型(汇编作业)

[2016-03-02 23:12] 检测点14.2

编程,用加法和位移指令计算 (ax)=(ax)*10。

push ax
mov cl,3
shl al,cl
pop cx
shl cl, 1
add ax,cx...
阅读全文 | 评论次数(0) | 浏览次数(579) | 所属类型(汇编作业)

[2016-03-02 23:07] 检测点14.1

(1) 编程,读取CMOS RAM的2号单元的内容。

用debug的A命令
    mov al, 2
    out 70h, al
    in al, 71h

(2)  编程,向CMOS RAM的2号单元写入0。

用debug的A命令
    mov al, 2
    out 70h, al
    mov al, 0
    out 71h, al

-------------------------...
阅读全文 | 评论次数(0) | 浏览次数(579) | 所属类型(汇编作业)

[2016-03-02 22:59] 实验13 编写、应用中断例程

(1) 编写并安装 int 7ch 中断例程,功能为显示一个用0结束的字符串,中断例程安装在0:200处。

      参数:(dh)=行号, (dl)=列号, (cl)=颜色, ds:si指向字符串首地址。


安装程序: 

assume cs:code  
code segment 
start:  mov ax,cs  
        mov ds,ax  
        mov si,offset disp
        mov ax,0 
        mov es,ax  
        mov di,200h 
        mov ...
阅读全文 | 评论次数(0) | 浏览次数(583) | 所属类型(汇编作业)

[2016-02-28 13:54] 检测点13.2

判断下面说法的正误: 

(1)我们可以编程改变FFFF:0处的指令,使得CPU不去执行BIOS中的硬件系统检测和初始化程序。
 
答:错误,FFFF:0处是ROM的存储空间,其内容无法改变。
    除非重新烧录它。
 
(2)int 19h中断例程,可以由DOS提供。 

答:错误,先调用int 19h,后启动DOS。...
阅读全文 | 评论次数(0) | 浏览次数(568) | 所属类型(汇编作业)

[2016-02-28 12:47] 检测点13.1

(1)在上面的内容中(书p256),我们用7ch中断例程实现loop功能,则上面的7ch中断例程所能进行的最大转移位移是多少?

回答:bx最大可以-32768,但是要求(bx)+(offset se)的值>=(offset s), 就是说修改后的ip不能为负,而且要等于标号s前的所有指令机器码个数的和。

loop指令修改8位位移,本中断例程可修改16位位移。
----------------
(2)用7ch中断例程完成jmp near ptr s指令的功能,用bx向中断例程传送位移。

应用举例:在屏幕的第12行,显示data段中以0结尾的字符串。

assume cs...
阅读全文 | 评论次数(0) | 浏览次数(635) | 所属类型(汇编作业)

[2016-02-26 16:38] 实验12 编写0号中断的处理程序

assume cs:code

code segment

start: mov ax, cs
       mov ds, ax
       mov si, offset do0     ; 设置ds:si 指向源地址

       mov ax, 0
       mov es, ax
       mov di, 200h           ; 设置es:di 指向目的地址

       mov cx, offset do0end - offset do0 
                              ; 设置cx为传输长度

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

[2016-02-26 10:21] 检测点12.1

(1) 用debug查看内存,情况如下:
0000:0000 68 10 a7 00 8b 01 70 00-16 00 9d 03 8b 01 70 00

则3号中断源对应的中断处理程序的入口地址为:0007:018b

(2) 存储N号中断源对应的中断处理程序入口的偏移地址的内存单元的地址为:4*N

存储N号中断源对应的中断处理程序入口的段地址的内存单元的地址为:4*N+2...
阅读全文 | 评论次数(0) | 浏览次数(585) | 所属类型(汇编作业)

[2016-02-26 10:02] 实验11 编写子程序

编写一个子程序,将包含任意字符,以0结尾的字符串中的小写字母转变为大写字母,描述如下:

名称:letterc
功能:将以0结尾的字符串中的小写字母转变为大写字母
参数:ds:si指向字符串首地址

应用举例

assume cs:code

datasg segment
  db "Beginner's All-purpose Symbolic Instruction Code.", 0
datasg ends

code segment

  begin: mov ax, datasg
         mov ds, ax
         mov s...
阅读全文 | 评论次数(0) | 浏览次数(572) | 所属类型(汇编作业)

[2016-02-25 22:38] 检测点11.4

下面程序执行后,(ax) = ?

    mov ax, 0      ; (ax)=0
    push ax
    popf           ; 应该(flag)=0
    mov ax,0fff0h  ; (ax)= fff0h
    add ax, 0010h  ; (ax)= 0000h, ZF=1,PF=1,CF=1
    pushf          ; 栈顶应该是0045h,可是不知为何变成
                     0047h?
    pop ax         ; (ax)=0047h, 
    and al, c5h...
阅读全文 | 评论次数(0) | 浏览次数(540) | 所属类型(汇编作业)
『 查看更多文章 』