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

我的博客

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

[2009-11-26 11:11] 实验15

这个实验很简单,但是测试却发生困难,因为我没有纯DOS实模式环境,所以只好又写了一个小程序,通过在执行小程序的时候来测试本实验

assume cs:code
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 int9
               mov ax,0
           ...
阅读全文 | 评论次数(0) | 浏览次数(491) | 所属类型(汇编作业)

[2009-11-25 09:51] 我的实验14

这个实验思路很多
assume cs:code
code segment
str: db '??/??/?? ??:??:??',"$";定义一个字符串用来存放当前日期和时间
pos: db 9,8,7,4,2,0;定义一段数据,用来存放时间信息在CMOS中的位置

        start: mov ax,cs
               mov ds,ax
               mov si,offset str
               mov bx,offset pos
               mov cx,6;要向字符串里填入6项数据,所以循环6次
            s: mov al,[bx]
               c...
阅读全文 | 评论次数(2) | 浏览次数(585) | 所属类型(汇编作业)

[2009-11-24 14:36] 检测点14.2

编程,用加法和移位指令计算(ax)=(ax)*10。
思路:有2种情况:1、(ax)=(ax)*10不会溢出,那么代码很简单
mov bx,ax
shl ax,1
mov cl,3
shl bx,cl
add ax,bx

2、但如果(ax)=(ax)*10溢出了,那结果就不正确了,根据本题,重新写代码如下:
start: mov ax,0ffffh
               mov bx,0;用来存储ax在加法过程中的值
               mov dx,0;用来表示乘法后的高16位
               mov cx,5;表示乘数,乘数=cx*2
               mov di,ax ...
阅读全文 | 评论次数(0) | 浏览次数(456) | 所属类型(汇编作业)

[2009-11-24 12:57] 检测点14.1

1、编程,读取CMOS RAM德2号单元的内容。
程序如下:
mov al,2
out 70h,al
int al,71h

2、编程,向CMOS RAM德2号单元写入0。
程序如下:
mov al,2
out 70h,al
mov al,0
out 71h,al...
阅读全文 | 评论次数(2) | 浏览次数(1294) | 所属类型(汇编作业)

[2009-11-24 11:12] 实验13-3

code segment
        assume cs:code
        
        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 s2,offset s3,offset s4
   row: db 2,4,6,8
   
   start: mov ax,cs
          mov ds,ax
          mov b...
阅读全文 | 评论次数(0) | 浏览次数(417) | 所属类型(汇编作业)

[2009-11-24 11:01] 实验13-2

这个实验很简单

code segment
        assume cs:code
        
        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 ax,0
               mov es,ax
               mov wor...
阅读全文 | 评论次数(0) | 浏览次数(421) | 所属类型(汇编作业)

[2009-11-23 16:07] 实验13-1的思路3

这种思路因为调用int 21h中断例程的9号子程序,但该子程序没有对字符串的显示颜色设置参数,所以显示的字符串只能是原色的

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

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

[2009-11-23 15:26] 实验13-1的思路2

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

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

[2009-11-23 14:51] 实验13-1的思路1

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

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

[2009-11-23 14:38] 对实验13-1的思考

对实验13-1的int 7ch中断例程的思路应该有3种:
1、把以前的show_str子程序稍微作修改,还是依次把ds:si的字符串的字符一个一个写入显示缓冲区,在没有学习到13章的时候只能采用这种思路;
2、调用BIOS的int 10h中断例程的2号和9号子程序;
3、调用DOS的int 21h中断例程的9号子程序。
下面,我将分别把3种思路int 7ch中断例程的代码写出来...
阅读全文 | 评论次数(0) | 浏览次数(414) | 所属类型(汇编作业)
『 查看更多文章 』