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

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
  •  不写年龄了,惭愧啊
  • 『姓名』:dongxf              
  • 『性别』:保密  『发送消息
  • 个人说明:为了能解决在编程中碰到的疑难杂症而学汇编
  • 详细信息『加为好友』
学习动态
最新留言
文章收藏
友情链接

[2008-07-15 05:16] 实验17

;实验17,编写包含多个功能子程序的中断例程
;功能: 安装新的int7ch中断例程,实现通过逻辑扇区对软盘的读写
;参数: ah: 0=读,1=写
;                         dx=要读写的逻辑扇区号
;                         es:bx指向存储数据的内存区
;逻辑扇区号=(面号*80+磁道号)*18+扇区号-1
;面号=int(逻辑扇区号/1440)
;磁道号=int(rem(逻辑扇区号/1440)/18)
;扇区号=rem(rem(逻辑扇区号/1440)/18)+1

;int13h说明
;ah=功能号,2=读扇区,3=写扇区
;al=读取或写入的扇区数
;ch=磁道号
;cl=扇区号
;d...
阅读全文 | 评论次数(2) | 浏览次数(854) | 所属类型(汇编作业)

[2008-07-12 07:42] 实验16修正版,清屏后设置光标位置到第一行第一列

;实验16,编写包含多个功能子程序的中断例程
;安装新的int7ch中断例程,为显示输出提供如下功能子程序
;(1).清屏
;(2).设置前景色
;(3).设置背景色
;(4).向上滚动一行
;入口参数:ah=功能号,0-3,对于功能2,3,al=颜色(0,1,2,3,4,5,6,7)

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

        ;拷贝新的int7...
阅读全文 | 评论次数(3) | 浏览次数(902) | 所属类型(汇编作业)

[2008-07-11 05:51] 实验15

;实验15,安装新的int9中断例程,按A键再松开后,显示满屏幕的A
;保存新的int9的代码到0:204
;保存原来的int9的入口地址到0:200,设置新的int9的入口地址为0:204
;A的断码=1eh+80h=9eh
assume cs:code

stack segment
        db 128 dup(0)
stack ends

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

        ;拷贝新int9的代码到0:204处 
        mov ax,cs
        mov ds,ax
        mov si,o...
阅读全文 | 评论次数(5) | 浏览次数(784) | 所属类型(汇编作业)

[2008-07-11 05:50] 实验14,访问CMOS RAM

;实验14,访问CMOS RAM
;编程,以"年/月/日 时:分:秒"的格式,显示当前日期,时间
;CMOS日期时间存放单元: 秒:0, 分:2, 时:4, 日:7, 月:8, 年:9

assume cs:code

code segment
start:
        ;year
        mov al,9
        mov di,0
        mov dh,'/'
        call show_cmos
        ;month
        mov al,8
        mov di,6
        mov dh,'/'
        call show_cmos
        ;day
        mov al,7
        mov di,12
        mov dh,' '...
阅读全文 | 评论次数(2) | 浏览次数(696) | 所属类型(汇编作业)

[2008-07-11 05:50] 实验13(3)

;实验13(3),补全下面的程序,分别在屏幕的2,4,6,8行显示4句英文诗

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

[2008-07-11 05:49] 实验13(2)

;实验13(2),编写并安装int 7ch中断,功能为完成loop指令的功能
;参数: cx=循环次数, bx=位移

;在屏幕中间显示80个 '!'
assume cs:code

code segment
;--- in7 7ch 代码
int7ch_begin:
        ;进入中断处理程序时,Flags,CS,IP入栈        
        dec cx
        jcxz int7ch_exit
        push bp
        mov bp,sp
        add [bp+2],bx ;修改ip
        pop bp
int7ch_exit:
        iret        ;离开中断处理程序时,Flags,CS,IP出栈        
...
阅读全文 | 评论次数(2) | 浏览次数(574) | 所属类型(汇编作业)

[2008-07-08 23:21] 实验13(1)

;实验13(1),编写并安装int 7ch中断例程,功能为显示一个用0结束的字符串,安装在0:200处
;参数: dh=rowno,dl=colno,cl=color,ds:si=字符串首地址
assume cs:code

data segment
        db "Welcome to masm !",0
data ends

code segment
;--- in7 7ch 代码
int7ch_begin:
        mov ax,0b800h
        mov es,ax

        mov si,0
        mov di,0

        ;用乘法计算显存位移=rowno*160+colno*2...
阅读全文 | 评论次数(2) | 浏览次数(572) | 所属类型(汇编作业)

[2008-07-08 11:55] 检测点13.1(2),用7ch中断例程完成jmp near ptr s 指令的功能

;检测点13.1(2),用7ch中断例程完成jmp near ptr s 指令的功能,用bx传送转移位移
;应用:在屏幕的第12行,显示data段中以0结尾的字符串

assume cs:code
data segment
        db        'conversation',0
data ends

code segment
;----------- 7ch中断代码 --------
;进入中断前,Flags,CS,IP入栈
int7ch_begin:
        push bp
        mov bp,sp
        add [bp+2],bx ;修改ip
        pop bp
        iret ;IP,CS,...
阅读全文 | 评论次数(3) | 浏览次数(649) | 所属类型(汇编作业)

[2008-07-06 22:18] 实验12,加入测试代码

;实验12,编写0号中断处理程序,使得除法溢出发生时,在屏幕中间显示字符串"divide error !" 
assume cs:code 

code segment 
;--------------------------- int0 程序段, 装入0:200h ------------------- 
int0_begin:  
  jmp short int0 
    db "divide error !",0 ;此处的偏移量应该是0:202h,因为上一条语句是两字节 
int0: 
  mov ax,0b800h ;ds指向显存 
    mov ds,ax  ...
阅读全文 | 评论次数(4) | 浏览次数(610) | 所属类型(汇编作业)

[2008-07-05 22:09] 实验11 编写子程序

assume cs:codesg
datasg segment
        db "Beginner's All-purpose Symbolic Instruction Code.",0
datasg ends

codesg segment
begin:
        mov ax,datasg
        mov ds,ax

        mov si,0
        call letterc

        mov si,0
        mov dh,12
        mov dl,5
        mov cl,2fh
        call show_str

        mov ax,4c00h
        int 21h

;名称: letterc
;功能:...
阅读全文 | 评论次数(3) | 浏览次数(797) | 所属类型(汇编作业)
『 查看更多文章 』