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

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
  •  少年不识愁滋味,爱上层楼。爱上层楼,为赋新词强说愁。 而今识尽愁滋味,欲说还休。欲说还休,却道天凉好个秋。
  • 『姓名』:天凉好个秋
  • 『性别』:男『发送消息
  • 个人说明:
  • 详细信息『加为好友』
学习动态
最新留言
友情链接

[2009-11-20 20:22] 检测点16.2  (第291页)

点击查看原图
下面的程序将code段中a处的8个数据累加,结果存储到b处的字中,补全程序。

assume cs:code,es:data

data segment
        a db 1,2,3,4,5,6,7,8
        b dw 0
data ends

code segment
start:  mov ax,data  ;此处为所填内容
        mov es,ax    ;此处为所填内容

        mov si,0
        mov cx,8
s:      mov al,a[si]
        mov ah,0
     ...
阅读全文 | 评论次数(0) | 浏览次数(797) | 所属类型(汇编作业)

[2009-11-20 20:05] 检测点16.1(第289页)

点击查看原图
下面的程序将code段中a处的8个数据累加,结果存储到b处的dword中,补全程序。
完整程序如下:

assume cs:code
code segment
        a dw 1,2,3,4,5,6,7,8
        b dd 0

start:  mov si,0
        mov cx,8
s:      mov ax,a[si]
        add word ptr b[0],ax
        adc word ptr b[2],0
        add si,2
        loop s

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

[2009-11-20 19:41] 实验15 安装新的int 9中断例程 (第285页)

点击查看原图
安装一个新的int9中断例程,功能:在DOS下,按下“A”键后,除非不再松开,如果松开,就显示满屏幕的“A”;其他的键照常处理。

提示:按下一个键时产生的扫描码称为通码,松开一个键产生的扫描码称为断码。断码=通码+80H。


assume cs:code,ss:stack
stack segment
db 128 dup (0)
stack ends

code segment
start:  mov ax,stack
        mov ss,ax
        mov sp,128
        push cs
        pop ds
        mov ax,0
        mov es,ax

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

[2009-11-20 19:18] 检测点15.1  (第282页)

(1)可以精简为:

pushf
call dword ptr ds:[0]


    (2)仔细分析上面程序中的主程序[第269页],看看有什么潜在的问题?
在主程序中,如果在执行设置int 9中断例程的段地址和偏移地址的指令之间发生了键盘中断,则CPU将转去一个错误的地址执行,将发生错误。
    找出这样的程序段,改写它们,排除潜在的问题。
    提示:注意sti和cli指令的用法。


答:潜在的问题是设置中断向量表时可能被打断,修改如下:

     cli
    mov word ptr es:[9*4],offset int9
    mov...
阅读全文 | 评论次数(0) | 浏览次数(748) | 所属类型(汇编作业)

[2009-11-20 19:04] 实验14 访问CMOS RAM (第271页)

点击查看原图
编程:以“年/月/日 时:分:秒”的格式,显示当前的日期、时间。

注意:CMOS RAM中存储着系统的配置信息,除了保存时间信息的单元外,不要向其他的单元中写入内容,否则将引起一些系统错误。

assume cs:code,ds:data
data segment 
data1 db  9,'/',8,'/',7,' ',4,':',2,':',0
data ends

code segment
start:  mov ax,data
        mov ds,ax
        mov si,0
        mov ax,0b800h
        mov es,ax
        mov di,12*160+30...
阅读全文 | 评论次数(2) | 浏览次数(1091) | 所属类型(汇编作业)

[2009-11-20 18:10] 检测点14.2  (第269页)

点击查看原图
编程:用加法和移位指令计算(ax)=(ax)*10
提示:(ax)*10=(ax)*2+(ax)*8

assume cs:code
code segment
start:  mov ax,2
        
        shl ax,1            ;(ax)=(ax)*2
        mov bx,ax

        shr ax,1
        mov cl,3
        shl ax,cl           ;(ax)=(ax)*8
        add ax,bx           ;(ax)=(ax)*10

        mov ax,...
阅读全文 | 评论次数(0) | 浏览次数(815) | 所属类型(汇编作业)

[2009-11-20 17:57] 检测点14.1 (第267页)

点击查看原图
(1)编程:读取CMOS RAM的2号单元的内容。
assume cs:code
code segment
start:  mov al,2    ;选择2号单元
        out 70h,al  ;把要访问的2号单元送到地址端口
        in al,71h   ;读出内容,送到al中        

        mov ax,4c00h
        int 21h
code ends
end start

(2) 编程:向CMOS RAM的2号单元写入0。
assume cs:code
code segment
start:  mov a...
阅读全文 | 评论次数(0) | 浏览次数(773) | 所属类型(汇编作业)

[2009-11-20 17:37] 实验13 编写、应用中断例程(3)   (第263页)

点击查看原图
(3)下面的程序,分别在屏幕的第2、4、6、8行显示四句英文诗,补全程序。

assume cs:code
code segment
        s1:        db 'Good,better,best,','$'
        s2:        db 'Never let it rest,','$'
        s3:        db 'Till good is better,','$'
        s4:        db 'And better,best.','$'
        s:         dw offset s1,offset...
阅读全文 | 评论次数(0) | 浏览次数(785) | 所属类型(汇编作业)

[2009-11-20 17:23] 实验13 编写、应用中断例程(2)   (第262页)

点击查看原图
(2)编写并安装int 7ch中断例程,功能为完成loop指令的功能。
参数:(cx)=循环次数,(bx)=位移


assume cs:code 
code segment
start:  mov ax,cs
        mov ds,ax
        mov si,offset lp
        mov ax,0
        mov es,ax
        mov di,200h
        mov cx,offset lpend -offset lp
        cld
        rep movsb

        mov word ptr es:[7ch*4],200h
        mov word ptr es:[7ch*4+2],0

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

[2009-11-20 16:43] 实验13 编写、应用中断例程 (1)   (第262页)

点击查看原图
(1)编写并安装int 7ch中断例程,功能为显示一个用0结束的字符串,中断例程安装在0:200处。
参数:(dh)=行号,(dl)=列号,(cl)=颜色,ds:si指向字符串首地址。


assume cs:code
data segment
        db "welcome to masm!",0
data ends

code segment
start:  mov ax,cs
        mov ds,ax
        mov si,offset show_str
        mov ax,0
        mov es,ax
        mov di,200h
        mov cx,offset show_stren...
阅读全文 | 评论次数(0) | 浏览次数(753) | 所属类型(汇编作业)
『 查看更多文章 』