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

我的博客

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

[2013-04-25 10:08] 研究试验1 搭建一个精简的C语言开发环境

除了TC.EXE外,必须用到的相关文件有5个,分别是:

COS.OBJ

EMU.LIB

MATHS.LIB

GRAPHICS.LIB

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

[2013-04-24 21:20] 课程设计2

assume cs:code 

code segment 

start:    jmp short install 
           
         ;; diska db 'Congratulations To Write Disk Success!!!',0 
          ;diskb db 'Sorry Write Disk Failure!!!',0 

;---------------安装程序---------------- 

;安装程序: 将代码写入A盘0面0道1扇区开始的扇区内. 
;操作成功: (ah)=0,(al)=写入的扇区数...
阅读全文 | 评论次数(0) | 浏览次数(695) | 所属类型(汇编作业)

[2013-04-12 14:26] 实验17

;安装INT7CH中断例程,实现通过逻辑扇区号对软盘进行读写
;参数:1)用AH传递功能号:0表示读,1表示写;
;           2)用DX传递读写的扇区的逻辑扇区号;
;           3)用ES:BX指向存储读出数据或写入数据的内存区;

assume cs:code

code segment

        start:        mov ax,cs
                        mov ds,ax
                        mov si,offset int7c
                        
                        mov ax,0
                        mov es,ax
                        mov di,0200h
                        
                        mov cx,offset int7cend - offset ...
阅读全文 | 评论次数(0) | 浏览次数(638) | 所属类型(汇编作业)

[2013-04-10 16:47] 实验16

;程序1
assume cs:code

code segment

        start:        mov ax,cs
                        mov ds,ax
                        mov si,offset setscreen
                        mov ax,0
                        mov es,ax
                        mov di,200h
                        mov cx,offset screenend - offset setscreen
                        cld
                        rep movsb
                        ;以上为安装程序
                        
                        cli
                        mov word ptr es:[7ch*4],0
                        mov word ptr es:[7ch*4+2],20...
阅读全文 | 评论次数(0) | 浏览次数(657) | 所属类型(汇编作业)

[2013-04-07 17:17] 检测点16.2

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
code ends
end start...
阅读全文 | 评论次数(0) | 浏览次数(628) | 所属类型(汇编作业)

[2013-04-07 16:59] 检测点16.1

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,ax
                adc word ptr b[2],0
                add si,2
                loop s
                
                mov ax,4c00h
                int 21h
code ends
end start...
阅读全文 | 评论次数(0) | 浏览次数(653) | 所属类型(汇编作业)

[2013-04-05 17:28] 实验15

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,code
                        mov ds,ax
                        
                        mov ax,0
                        mov es,ax
                        
                        mov si,offset int9
                        mov di,0204h
                        mov cx,offset int9end - offset int9
                        cld
...
阅读全文 | 评论次数(0) | 浏览次数(201) | 所属类型(汇编作业)

[2013-04-05 15:35] 检测点15.1

(1)仔细分析一下上面的int 9中断例程,看看是否可以精简一下?
其实在我们的int 9中断例程中,模拟int指令调用原int 9中断例程的程序段是可以精简的,因为在进入中断例程后,IF和TF都已经置0,没有必要再进行设置可。对于程序段:
pushf
pushf
pop ax
and ah,11111100b
push ax
popf
call dword ptr ds:[0]
可以精简为:
pushf
call dword ptr ds:[0]
两条指令。
(2)仔细分析上面程序中的主程序[第269页],看看有什么潜在的问题?
在主程序中,如果在执行设置int ...
阅读全文 | 评论次数(0) | 浏览次数(200) | 所属类型(汇编作业)

[2013-03-30 21:22] 实验14访问CMOS RAM

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

assume cs:code

code segment
        time:        db "yy/mm/dd hh:ss:mm","$"
        cmos:        db 9,8,7,4,2,0
        
        start:        mov ax,cs
                        mov ds,ax
                        mov bx,offset time
                        mov si,offset cmos
                        
                        mov cx,6
                s:        push cx
                        mov al,[si]
                        out 70h,al
                        in al,71h
                        mov ah,al        
        ...
阅读全文 | 评论次数(0) | 浏览次数(231) | 所属类型(汇编作业)

[2013-03-30 16:56] 检测点14.2

;编程,和加法和移位指令计算(AX)=(AX)*10.
;(AX)*10=(AX)*8+(AX)*2
assume cs:code

code segment
        start:        mov ax,8;假设AX中内容为8.
                        mov bx,ax
                        
                        shl bx,1         ;左移一位相当于执行(BX)=(BX)*2,即执行后(BX)= (AX)*2
                        mov cl,3        ;如果移动位数大于1时,必须将移动位数放在CL中。
                        shl ax,cl        ;移动3位,相当于(AX)=(AX)*2*3=(AX)*8
                        add ax,bx
                        
                        mov ax,4c...
阅读全文 | 评论次数(0) | 浏览次数(238) | 所属类型(汇编作业)
页码数(5):  1  2  3  4  5