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

我的博客

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

[2012-05-22 00:14] 实验题:第十六章 实验十六(有疑惑,待解决)[已解决]

2012.5.23经dxiaolin的提示,在标号int7ch之前加了一句“org 200h”。问题终于得到解决。org 200h的作用是使编译器将紧跟它之后的语句段的起始地址(偏移地址)变为200H,直到再次遇到ORG语句。

2012.5.22经测试,效果都正确,惟一不解的是有两句指令不明白。        
mov word ptr es:[7ch*4],offset int7ch
mov word ptr es:[7ch*4+2],cs        ;将安装地址加入中断向量表
中断安装在0:200H处,不知道为什么这两句换成下面这样就通不过?
mov word ptr es:[7ch*4],200H...
阅读全文 | 评论次数(16) | 浏览次数(1188) | 所属类型(汇编作业)

[2012-05-14 22:06] 交作业:P291 检测点16.2

下面的程序将DATA段中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
        add b,ax
        inc si
        loop s

        mov ax,4c00h
        int 21h ...
阅读全文 | 评论次数(3) | 浏览次数(694) | 所属类型(汇编作业)

[2012-05-14 21:53] 交作业:P289 检测点16.1

下面的程序将CODE段中A处的8个数据累加,结果存储到B处的双字中,补全程序。
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,4c00h
        int 21h

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

[2012-05-14 21:21] 实验题:第十五章 实验十五

点击查看原图
;安装一个新的int 9中断例程,功能:在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                        ;设置堆栈段

        mov ax,cs
        mov ds,ax
        mov si,offset ...
阅读全文 | 评论次数(9) | 浏览次数(716) | 所属类型(汇编作业)

[2012-05-12 17:38] 交作业:P282 检测点15.1

;根据(1)和(2)小题的要求修改后的程序如下:

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

data segment
 dw 0,0
data ends

code segment
start:
        mov ax,stack
        mov ss,ax
        mov sp,128

        mov ax,data
        mov ds,ax

        mov ax,0
        mov es,ax

        push es:[9*4]
        pop ds:[0]
        push es:[9*4+2]
        pop ds:[2...
阅读全文 | 评论次数(6) | 浏览次数(743) | 所属类型(汇编作业)

[2012-05-12 15:57] 小记一则

第十五章还没看完,试着做了下检测题,一次通过。发现现在的题目已经不能完全达到检测的目的了啊,主要是题目太少了。还得靠自己找题目来做啊……...
阅读全文 | 评论次数(6) | 浏览次数(738) | 所属类型(汇编作业)

[2012-05-11 21:25] 实验十四,关于显示完整日期……

点击查看原图
通过改变系统时间,多查看几次就可以发现年份信息的头两位在50单元和114单元中保存(可以看到0单元和60单元均保存有秒的信息,后接分时日月年)。找到年份单元的高两位,把它显示出来就简单得多了。

有个小插曲,我为了找到年份信息的高两位,把系统日期改成了1985年,完成后忘记改回来了,结果害得我好多软件出错,差点要重装系统了,呵呵。

;显示CMOS前128个单元的内容
assume cs:code
code segment
 mov ax,0b800h
 mov es,ax
 mov di,160*3        ;从第三行第0列开始显示

 mov cx,128
 mov si,...
阅读全文 | 评论次数(4) | 浏览次数(680) | 所属类型(汇编作业)

[2012-05-10 23:24] 实验题:第十四章 实验14(显示完整日期)

点击查看原图
;编程,以“年/月/日 时:分:秒”的格式,显示当前的日期,时间。
assume cs:code
code segment
 s1: db "????/??/?? ??:??:??$"        ;定义日期时间显示格式
 s2: db 50,9,8,7,4,2,0
 start:
        mov ax,code
        mov ds,ax
        mov bx,offset s1
        mov si,offset s2

        mov al,[si]        ;将50单元地址送入al
        out 70h,al
        in al,71h        ;读出50单元中的内容
        call dtoc        ;将数字转化为字符并送入DS:BX...
阅读全文 | 评论次数(1) | 浏览次数(222) | 所属类型(汇编作业)

[2012-05-10 21:41] 交作业:P269  检测点14.2

编程,用加法和移位指令计算(ax)=(ax)*10。
提示,(ax)*10=(ax)*2+(ax)*8。
assume cs:code
code segment
 mov ax,63h    ;举例(ax)=63h
 shl ax,1      ;左移1位
 mov dx,ax     ;将左移1位的值暂存至dx
 mov cl,2
 shl ax,cl     ;再左移2位(共移3位)
 adc ax,dx     ;将左移1位和左移3位的值进行带进位加法运算
 mov ax,4c00h
 int 21h
code ends
end...
阅读全文 | 评论次数(1) | 浏览次数(214) | 所属类型(汇编作业)

[2012-05-10 21:36] 交作业:P267  检测点14.1

(1)编程,读取CMOS RAM的2号单元的内容。
assume cs:code
code segment
 mov al,2
 out 70h,al    ;将单元地址送入70h端口
 in al,71h     ;将71h端口中的内容送入al
 mov ax,4c00h
 int 21h
code ends
end

(2)编程,向CMOS RAM的2号单元写入0
assume cs:code
code segment
 mov al,2
 out 70h,al    ;将单元地址送入70h端口
 mov al,0
 out 71h,al    ;将数据0...
阅读全文 | 评论次数(1) | 浏览次数(213) | 所属类型(汇编作业)
页码数(5):  1  2  3  4  5