- [rotapple] 要判断OF,就把数当作有符号数处理,最高位是符号位:比如正正得负,负负得正,就溢出。 === 那 07/13 17:45
- [rotapple] 好方法。 学习了。 07/13 17:33
- [zhaojh92] 我用的是dosbox 也可以 05/14 16:33
- [billy_asm] 第四个空 add bx,[6] 意思是bx=bx+[6] 那么重点在于[6]单元是多少?上面已经给 03/12 10:28
- [mone] 第四个空格bx与电脑有关么?我的显示6023 请赐教。。。不明白我。。。 03/11 23:12
- [shiyangning] 拯救*世界 呵呵,貌似这个工具是你发给我的...无语了 04/22 17:28
- [shiyangning] 谢谢啊~ 04/22 13:20
- [shiyangning] 呵呵,水平就这点啊。子程序还不知道怎么写呢。谢谢一直给我的帮助..... 对了,你在群里 04/21 22:48
[2011-04-24 20:07] 实验13 编写,应用中断程序3
(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
m...
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
m...
阅读全文 |
评论次数(0) |
浏览次数(476) |
所属类型(实验)
[2011-04-24 19:50] 实验13 编写,应用中断程序2
第一段程序:
;安装int7ch中断例程
;功能为完成loop指令的功能。
assume cs:code
code segment
start:mov ax,cs
mov ds,ax
mov ax,0
mov es,ax
mov si,offset lp
mov di,200H
mov cx,offset lpend-offset lp
rep movsb
mov word ptr es:[7cH*4],200H...
;安装int7ch中断例程
;功能为完成loop指令的功能。
assume cs:code
code segment
start:mov ax,cs
mov ds,ax
mov ax,0
mov es,ax
mov si,offset lp
mov di,200H
mov cx,offset lpend-offset lp
rep movsb
mov word ptr es:[7cH*4],200H...
阅读全文 |
评论次数(0) |
浏览次数(527) |
所属类型(实验)
[2011-04-24 19:37] 实验13 编写,应用中断程序1
第一段程序:
;把之前show_str子程序修改一下变成中断例程
assume cs:code
data segment
db "Welcome to masm!",0
data ends
code segment
start: mov ax,cs
mov ds,ax
mov ax,0
mov es,ax
mov si,offset in7c
mov di,200H
mov cx,offset in7cend-offset in7c
...
;把之前show_str子程序修改一下变成中断例程
assume cs:code
data segment
db "Welcome to masm!",0
data ends
code segment
start: mov ax,cs
mov ds,ax
mov ax,0
mov es,ax
mov si,offset in7c
mov di,200H
mov cx,offset in7cend-offset in7c
...
阅读全文 |
评论次数(0) |
浏览次数(538) |
所属类型(实验)
[2011-04-21 22:27] 实验12 编写0号中断程序
;用心,细心,不要因为书上有,就对着抄。还是要自己动手写一遍才能更深刻地记住。
assume cs:code
code segment
start:mov ax,cs
mov ds,ax
mov ax,0
mov es,ax
mov si,offset in0 ;指向要复制指令的首地址
mov di,200H ;要复制到的起始地址
mov cx,offset in0end-offset in0 ;计算0中断程序的字节数
...
assume cs:code
code segment
start:mov ax,cs
mov ds,ax
mov ax,0
mov es,ax
mov si,offset in0 ;指向要复制指令的首地址
mov di,200H ;要复制到的起始地址
mov cx,offset in0end-offset in0 ;计算0中断程序的字节数
...
阅读全文 |
评论次数(0) |
浏览次数(574) |
所属类型(实验)
[2011-04-21 11:38] 实验11 编写子程序letterc
有了前面编写子程序的经验,现在编写这个letterc也容易多了。
这个实验要判断字母是否[a,z]成为关键。我还多调用了之前显示字符串的子程序,用来验证call letterc是否正确执行。。。
以下是代码:
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
...
这个实验要判断字母是否[a,z]成为关键。我还多调用了之前显示字符串的子程序,用来验证call letterc是否正确执行。。。
以下是代码:
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
...
阅读全文 |
评论次数(0) |
浏览次数(539) |
所属类型(实验)
[2011-04-19 18:45] 实验10 编写子程序3 数值显示
assume cs:code
data segment
db 10 dup (0)
data ends
stack segment
db 64 dup (0)
stack ends
code segment
start: mov ax,stack
mov ss,ax
mov sp,64
mov ax,12666
mov bx,data
mov si,0
call dtoc
mov dh,8
mov dl...
data segment
db 10 dup (0)
data ends
stack segment
db 64 dup (0)
stack ends
code segment
start: mov ax,stack
mov ss,ax
mov sp,64
mov ax,12666
mov bx,data
mov si,0
call dtoc
mov dh,8
mov dl...
阅读全文 |
评论次数(0) |
浏览次数(235) |
所属类型(实验)
[2011-04-18 21:42] 实验10 编写子程序2 divdw
;子程序2 解决除法溢出
; 应用举例:计算1000000/10(F4240H/0AH)
assume cs:code
stack segment
db 16 dup (0)
stack ends
code segment
start:mov ax,stack
mov ss,ax
mov sp,16
mov ax,4240H
mov dx,000FH
mov cx,0AH
call divdw
mov ax,4c00H
int 21H
...
; 应用举例:计算1000000/10(F4240H/0AH)
assume cs:code
stack segment
db 16 dup (0)
stack ends
code segment
start:mov ax,stack
mov ss,ax
mov sp,16
mov ax,4240H
mov dx,000FH
mov cx,0AH
call divdw
mov ax,4c00H
int 21H
...
阅读全文 |
评论次数(0) |
浏览次数(254) |
所属类型(实验)
[2011-04-18 20:42] 实验10 编写子程序1 显示字符串
;实验10 编写子程序 t10a.asm
;子程序1 显示子符串show_str
;
;应用举例:在屏幕8行3列,用绿色显示DATA段的字符串
assume cs:code
data segment
db 'Welcome to masm!',0
data ends
code segment
start: mov dh,8 ;行
mov dl,3 ;列
mov cl,2 ;颜色
mov ax,data
mov ds,ax
mov si,0 ;si指向字符串首地址
call show_s...
;子程序1 显示子符串show_str
;
;应用举例:在屏幕8行3列,用绿色显示DATA段的字符串
assume cs:code
data segment
db 'Welcome to masm!',0
data ends
code segment
start: mov dh,8 ;行
mov dl,3 ;列
mov cl,2 ;颜色
mov ax,data
mov ds,ax
mov si,0 ;si指向字符串首地址
call show_s...
阅读全文 |
评论次数(0) |
浏览次数(494) |
所属类型(实验)
[2011-04-18 08:05] 实验9 根据材料编程 还有一些不解
说实在,我对这题的运行环境有很大的不解.一开始的时候,是在2003系统下编写的程序,无论如何也得不到字符显示在屏幕上.后来,把它拿到XP系统下,运行,OK.再后来,拿到win7系统下.....跟2003系统一样.无法得出结果.单步调试的结果:看到改写相应的内存单元,用D查看却是不一样的结果..希望有高人指点一下迷津!XP系统环境跟2003,win7差别在哪里?指的是运行汇编程序的不一样.
;实验9 根据材料编程
;书p197页
assume cs:code
data segment
db 'Welcome to masm!'
data ends
cod...
;实验9 根据材料编程
;书p197页
assume cs:code
data segment
db 'Welcome to masm!'
data ends
cod...
阅读全文 |
评论次数(0) |
浏览次数(340) |
所属类型(实验)
[2011-04-16 19:15] 实验8 分析一个奇怪的程序
程序能正确返回,就因为复制的是指令代码,而不是汇编语句。
指令代码中IP的位移又刚好指向第一条指令,真是鬼使神猜...
指令代码中IP的位移又刚好指向第一条指令,真是鬼使神猜...
阅读全文 |
评论次数(0) |
浏览次数(211) |
所属类型(实验)