assume cs:code
code segment
start:
mov ax, cs
mov ds, ax
mov si, offset setscreen
mov ax, 0h
mov es, ax
mov di, 200h
mov cx, offset setscreenend - offset setscreen
cld
rep movsb
mov word ptr es:[7ch*4], 200h
mov word ptr es:[7ch*4+2], 0h
mov ax, 4c00h
int 2...
- [qiangzi] 楼主有空的话能帮我装一下dos吗?我一直装不上,qq519710391,先谢谢! 02/06 20:34
- [zwz_good] 看到自己的注释能给别人带来帮助,心里非常高兴,也许这就是帮助别人的快乐吧。 10/20 16:23
- [游客] 程序测试了一下,没什么问题。 10/20 14:25
- [游客] 博主程序中的那部分注释说明非常重要,非常有用,非常有帮助。好啊。 10/20 14:15
- [zwz_good] 谢谢你的鼓励。 10/10 20:56
- [游客] 自己实现更能体会过程,有好处,做完了再做便捷的就知道便捷在哪了。 顶博主! 10/10 14:25
- [zwz_good] 噢,习惯了使用这个子程序了,再来一个使用INT 21H中断的,谢谢提醒。 10/09 20:25
- [tinyparticle] ;名称:show_str 显示字符串子程序 ;功能:在指定的位置,用指定的颜色,显示一个用0 10/09 20:17
- [tinyparticle] 同意楼上 10/08 22:56
- [20081148] 你的7ch中断例程有问题,题目要求实现无条件段内近转移 jmp near ptr s指令,可你的代码 10/08 22:24
- [20081148] 你的虚拟机从哪下的啊?我下了好几个,都不能用,无语了。 10/21 08:53
[2009-10-19 20:38] 实验16
阅读全文 |
评论次数(3) |
浏览次数(741) |
所属类型(汇编作业)
[2009-10-13 21:31] 16.3直接定址表 例题计算sin(x),并在屏幕中间显示计算结果
assume cs:code, ds:data
data segment
dw 0, 30, 60, 90, 120, 150, 180, 270
data ends
code segment
start:
mov ax, data
mov ds, ax
mov si, 0
mov cx, 8
s:
mov ax, [si]
call showsin
call delay
add si, 2
loop s
mov ax, 4c00h
int 21h
delay:
push ax
push dx ...
data segment
dw 0, 30, 60, 90, 120, 150, 180, 270
data ends
code segment
start:
mov ax, data
mov ds, ax
mov si, 0
mov cx, 8
s:
mov ax, [si]
call showsin
call delay
add si, 2
loop s
mov ax, 4c00h
int 21h
delay:
push ax
push dx ...
阅读全文 |
评论次数(0) |
浏览次数(456) |
所属类型(汇编作业)
[2009-10-13 21:01] 16.3直接定址表 例题 以十六进制的形式在屏幕中间显示给定的字节型数据
assume cs:code, ds:data
data segment
db 'zwz_good'
data ends
code segment
start:
mov ax, data
mov ds, ax
mov si, 0
mov cx, 8
s:
mov al, [si]
call showbyte
call delay
inc si
loop s
mov ax, 4c00h
int 21h
delay:
push ax
push dx
mov ax, 0h
mov dx, ...
data segment
db 'zwz_good'
data ends
code segment
start:
mov ax, data
mov ds, ax
mov si, 0
mov cx, 8
s:
mov al, [si]
call showbyte
call delay
inc si
loop s
mov ax, 4c00h
int 21h
delay:
push ax
push dx
mov ax, 0h
mov dx, ...
阅读全文 |
评论次数(0) |
浏览次数(431) |
所属类型(汇编作业)
[2009-10-12 22:15] 检测点16.2
assume cs:code, es:data ;此处给编译器看的。如果改成 ds: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 ;这两句是执行用的。以配合下面的add b, ax话。
mov si, 0
mov cx, 8
s:
mov al, a[si]
mov ah, 0
add b, ax ;此处的b仅用到了 地址的作用...
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 ;这两句是执行用的。以配合下面的add b, ax话。
mov si, 0
mov cx, 8
s:
mov al, a[si]
mov ah, 0
add b, ax ;此处的b仅用到了 地址的作用...
阅读全文 |
评论次数(1) |
浏览次数(768) |
所属类型(汇编作业)
[2009-10-12 22:02] 检测点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 a[16], ax
adc a[18], 0 ;注意此句在Debug中的表示,它用到了a 的长度。
add si, 2
loop s
mov ax, 4c00h
int 21h
code ends
end start...
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 a[16], ax
adc a[18], 0 ;注意此句在Debug中的表示,它用到了a 的长度。
add si, 2
loop s
mov ax, 4c00h
int 21h
code ends
end start...
阅读全文 |
评论次数(0) |
浏览次数(587) |
所属类型(汇编作业)
[2009-10-12 21:41] 第十七章的实验环境
1、虚拟机 VMWare
2、制作软盘镜像软件 WinImage
============
1 通过WinImage制作一个ima文件即软盘镜像
2 将ima文件在VMWare中使用就好了。...
2、制作软盘镜像软件 WinImage
============
1 通过WinImage制作一个ima文件即软盘镜像
2 将ima文件在VMWare中使用就好了。...
阅读全文 |
评论次数(0) |
浏览次数(561) |
所属类型(默认类型)
[2009-10-12 20:25] 实验 15 安装新的int9中断例程
assume cs:code
stack segment
db 128 dup (0)
stack ends
code segment
start:
mov ax, stack
mov ss, ax
mov sp, 128
push cs
pop ds
mov ax, 0
mov es, ax
mov si, offset int9
mov di, 204h
mov cx, offset int9end - offset int9
cld
rep movsb
push es:[9*4] ...
stack segment
db 128 dup (0)
stack ends
code segment
start:
mov ax, stack
mov ss, ax
mov sp, 128
push cs
pop ds
mov ax, 0
mov es, ax
mov si, offset int9
mov di, 204h
mov cx, offset int9end - offset int9
cld
rep movsb
push es:[9*4] ...
阅读全文 |
评论次数(0) |
浏览次数(454) |
所属类型(汇编作业)
[2009-10-10 20:55] 检测点15.1
assume cs:code
data segment
dw 8 dup (0)
data ends
code segment
start:
mov ax, data
mov ds, ax
mov si, 0
;保存旧9号中断例程的入口地址
mov ax, data
mov ds, ax
mov si, 0
mov ax, 0
mov es, ax
mov ax, es:[9h*4]
mov [si], ax
mov ax, es:[9h*4+2]
mov [si+2], ax
;填充新9...
data segment
dw 8 dup (0)
data ends
code segment
start:
mov ax, data
mov ds, ax
mov si, 0
;保存旧9号中断例程的入口地址
mov ax, data
mov ds, ax
mov si, 0
mov ax, 0
mov es, ax
mov ax, es:[9h*4]
mov [si], ax
mov ax, es:[9h*4+2]
mov [si+2], ax
;填充新9...
阅读全文 |
评论次数(0) |
浏览次数(465) |
所属类型(汇编作业)
[2009-10-09 20:11] 实验14 访问CMOS RAM
assume cs:code
data segment
db 32 dup (0)
db 9, 8, 7, 4, 2, 0
db '/', '/', ' ', ':', ':'
data ends
code segment
start:
mov ax, data
mov ds, ax
mov si, 0
mov di, 32
mov cx, 6
start1:
push cx
mov al, [di]
out 70h, al
in al, 71h
mov ah, al
mov c...
data segment
db 32 dup (0)
db 9, 8, 7, 4, 2, 0
db '/', '/', ' ', ':', ':'
data ends
code segment
start:
mov ax, data
mov ds, ax
mov si, 0
mov di, 32
mov cx, 6
start1:
push cx
mov al, [di]
out 70h, al
in al, 71h
mov ah, al
mov c...
阅读全文 |
评论次数(4) |
浏览次数(737) |
所属类型(汇编作业)
[2009-10-08 20:51] 实验13.3
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 ds, ax
mov bx, offset s
mo...
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 ds, ax
mov bx, offset s
mo...
阅读全文 |
评论次数(0) |
浏览次数(399) |
所属类型(汇编作业)
『 查看更多文章 』