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

我的博客

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

[2015-07-08 22:52] 第14章:端口

第一个程序是自己写的,没有使用字符串,显得不够简洁。
;-----------------------------------------------------------
;实验14:以“年/月/日  时:分:秒“的格式,显示当前的日期、时间。
;思路:直接读取CMOS中的端口号,调用子程序,单独打印显示符。
;-----------------------------------------------------------

assume cs:code


code segment

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

[2015-07-08 22:49] 第14章:端口

;----------------------------------------------
;检测点14.1:编程,读取CMOS RAM的2号单元的内容。
;             编程,向CMOS RAM的2号单元写入0。
;----------------------------------------------

assume cs:code


code segment

        ;读取
        mov al,2
        out 70H,al
        in al,71H
        
        ;写入
        mov al,2
        out 70H,al
        mov al,0
        out 71H,al
        i...
阅读全文 | 评论次数(0) | 浏览次数(747) | 所属类型(汇编作业)

[2015-07-06 23:43] 第13章:实验13

;----------------------------------------------------------
;实验13:(1)编写并安装7cH中断例程,显示一个用0结束的字符串。
;----------------------------------------------------------

assume cs:code


code segment

        mov ax,cs
        mov ds,ax
        mov si,offset showstr                        ;中断源地址
        mov ax,0
        mov es,ax
        mov di,200H                                ;0:200 ...
阅读全文 | 评论次数(0) | 浏览次数(770) | 所属类型(汇编作业)

[2015-07-06 23:41] 第13章:检测点

(13.1)
(1)在上面的内容中,我们用7ch中断例程实现loop的功能,则上面的7ch中断例程所能进行的最大转移位移是多少?
答:题中用BX存放位移,作为16位有符号数,其取值范围为-32768~32767,且题中是向前转移,则BX是负值,所以其最大转移位移是-32768(即向前转移32768)。
(2)用7ch中断例程完成jmp near ptr s指令的功能,用bx向中断例程传送转移位移。应用举例:在屏幕的第12行,显示data段中以0结尾的字符串。
assume cs:code


data segment

        db 'conversation',0
        
dat...
阅读全文 | 评论次数(0) | 浏览次数(827) | 所属类型(汇编作业)

[2015-07-02 14:18] 实验12:编写0号中断的处理程序

;-----------------------------------------------------------
;实验12:编写0号中断的处理程序,使得在除法溢出发生时,在屏幕
;中间显示字符串“divide error!“,然后返回DOS。
;------------------------------------------------------------

assume cs:code


code segment

        ;将中断代码送入内存
start:        mov ax,cs
        mov ds,ax
        mov si,offset do0                        ;中断代码...
阅读全文 | 评论次数(0) | 浏览次数(784) | 所属类型(汇编作业)

[2015-07-02 14:17] 第12章:检测点

(12.1)
(1)用Debug查看内存,情况如下:0000:0000 68 10 A7 00 8B 01 70 00-16 00 9D 03 8B 01 70 00,则3号中断源对应的中断处理程序的入口地址为0070:018B。
(2)存储N号中断源对应的中断处理程序入口的偏移地址的内存单元的地址为0:4N,段地址的内存单元的地址为0:4N+2。...
阅读全文 | 评论次数(0) | 浏览次数(698) | 所属类型(汇编作业)

[2015-06-27 09:54] 实验11:编写子程序

;----------------------------------------------------------------
;将datasg段中字符串的小写字母转变成大写字母。
;----------------------------------------------------------------

assume cs:codesg


datasg segment

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


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

[2015-06-27 09:47] 第11章:检测点

点击查看原图
(11.1)写出下面每条指令执行后,ZF、PF、SF等标志位的值。
解:先心算,然后debug中进行验证;注意哪些指令对标志位有影响;最后的mul al,积存入ax中,要以ax为准。

(11.2)写出下面每条指令执行后,ZF、PF、SF、CF、OF等标志位的值。

(11.3)
(1)补全下面的程序,统计F000:0处32个字节中,大小在[32,128]的数据的个数。
mov ax,0f000h        mov ds,ax           mov bx,0             mov dx,0                mov cx,32            s: mov al,[bx]        cmp al,32           jb s0                cmp al...
阅读全文 | 评论次数(0) | 浏览次数(323) | 所属类型(汇编作业)

[2015-06-13 08:50] 课程设计1

一点感想:1、没仔细审题,开始问题被我复杂化了,用实验7的思路去整数据,其实目的只是为了显示,故不用考虑非显存区的布局。
2、过于追求结构紧凑,导致问题很多,精简化对能力的要求很高,稍不注意就会导致寄存器冲突,结构混乱,逻辑硬伤。
3、好多小细节都被忽略了,入dtoc子程序中因为缺少mov dx,0这一句,导致数字列(初第一行的字符串年份外)不能显示3位以上的数据,这个极其隐蔽,卡了很久,直到debug时才被发现。


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

[2015-06-13 08:41] 实验10:编写子程序

1.显示字符串

;-----------------------------------------------------
;实验10.1:在屏幕的8行3列,用绿色显示data段中的字符串。
;-----------------------------------------------------

assume cs:code


data segment

        db 'Welcome to masm!',0
        
        
data ends


code segment

start:        mov dh,8                ;行号
        mov dl,3                ;列号
        mo...
阅读全文 | 评论次数(0) | 浏览次数(315) | 所属类型(汇编作业)
页码数(3):  1  2  3