assume cs:code,ds:data
data segment
a dw 1,2,3,4,5,6,7,8,
b dd 0
data ends
code segment
start:mov ax,data
mov ds,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...


- [游客] 加油,坚持! 12/17 09:52
- [16141602] 我也是抄书~不然记忆不清晰~我会买一本杨季文的书看看~ 谢谢 指点 01/03 13:25
- [e56004474] 时间充足,条件允许的话,你可以 看下杨季文 写的书,用来加强下,做他后面的 习题,在PC上动手写程序 01/02 18:32
- [16141602] 谢谢了 我懂了 12/12 23:20
- [游客] pop 操作过程是什么呢?是不是先取数据,然后sp+2?那么,先把栈中0偏移的处的一个字的数据pop 12/12 17:21
[2015-05-09 12:50] 监测点 16.2
阅读全文 |
评论次数(0) |
浏览次数(545) |
所属类型(汇编作业)
[2015-05-09 11:55] 监测点 16.1
assume cs:code
code segment
a dw 1,2,3,4,5,6,7,8,9
b dd 0
start:mov si,0
mov cx,8
s:mov ax,a[si]
add word ptr b[0],ax
adc word ptr b[2],0 ;adc 相加低位
add si,2 ;指向A段的第二个字
loop s
mov ax,4c00h
int 21h
code ends
end start...
code segment
a dw 1,2,3,4,5,6,7,8,9
b dd 0
start:mov si,0
mov cx,8
s:mov ax,a[si]
add word ptr b[0],ax
adc word ptr b[2],0 ;adc 相加低位
add si,2 ;指向A段的第二个字
loop s
mov ax,4c00h
int 21h
code ends
end start...
阅读全文 |
评论次数(0) |
浏览次数(578) |
所属类型(汇编作业)
[2015-05-06 13:28] 试验 15
assume ss:stack,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 ;ds = cs
mov si,offset int9 ;取int9的标号地址
mov ax,0
mov es,ax
mov di,204H ;存储新int9的地址
mov cx,offset int9ends -offset int9
...
stack segment
db 128 dup(0)
stack ends
code segment
start:
mov ax,stack
mov ss,ax
mov sp,128 ;栈顶
push cs
pop ds ;ds = cs
mov si,offset int9 ;取int9的标号地址
mov ax,0
mov es,ax
mov di,204H ;存储新int9的地址
mov cx,offset int9ends -offset int9
...
阅读全文 |
评论次数(0) |
浏览次数(565) |
所属类型(汇编作业)
[2015-05-06 11:04] 实验 14 访问 Cmos RAM
实验 14 访问 Cmos RAM
编程 以 “年 / 月/日 时 :分: 秒 ”的格式 ,显示当前的日期时间,
注意 : Cmos RAM 中存储着系统的配置信息,处理保存时间信息的单元外,
不要向其他的单元中写入内容,否则将引发一些未知的错误.
图片
代码如下
assume cs:code
data segment
db '00/00/00 00:00:00','$'
db 9,8,7,4,2,0
data ends
code segment
start:
mov ax,data
mov ds,ax...
编程 以 “年 / 月/日 时 :分: 秒 ”的格式 ,显示当前的日期时间,
注意 : Cmos RAM 中存储着系统的配置信息,处理保存时间信息的单元外,
不要向其他的单元中写入内容,否则将引发一些未知的错误.
图片
代码如下
assume cs:code
data segment
db '00/00/00 00:00:00','$'
db 9,8,7,4,2,0
data ends
code segment
start:
mov ax,data
mov ds,ax...
阅读全文 |
评论次数(0) |
浏览次数(551) |
所属类型(汇编作业)
[2015-05-06 11:01] ③不全下面的程序 使得第 2 4 6 8 行显示4句英文诗句,不全程序
;③不全下面的程序 使得第 2 4 6 8 行显示4句英文诗句,不全程序
assume cs:code
code segment
s1 db 'Good,better,best,','$'
s2 db 'Necer let it rest,','$'
s3 db 'Till good is better,','$'
s4 db 'and better,vest.','$'
s dw offset s1,offset s2,offset s3,offset s4
row db 2,4,6,8
start:mov ax,cs
mov ds,ax
...
assume cs:code
code segment
s1 db 'Good,better,best,','$'
s2 db 'Necer let it rest,','$'
s3 db 'Till good is better,','$'
s4 db 'and better,vest.','$'
s dw offset s1,offset s2,offset s3,offset s4
row db 2,4,6,8
start:mov ax,cs
mov ds,ax
...
阅读全文 |
评论次数(0) |
浏览次数(196) |
所属类型(汇编作业)
[2015-05-06 11:01] ② 编写并安装int 7ch 中断例程
;② 编写并安装int 7ch 中断例程,功能为完成loop 指令的功能
;参数:cx = 循环的次数 bx = 位移;指int 7c中断中跳转出来修改IP 到S的标号地址偏移
;参数:
assume cs:code
code segment
start:mov ax,cs
mov ds,ax
mov si,offset Interrupt
mov ax,0
mov es,ax
mov di,0200h
mov cx,offset Interruptend - offset Interrupt
c...
;参数:cx = 循环的次数 bx = 位移;指int 7c中断中跳转出来修改IP 到S的标号地址偏移
;参数:
assume cs:code
code segment
start:mov ax,cs
mov ds,ax
mov si,offset Interrupt
mov ax,0
mov es,ax
mov di,0200h
mov cx,offset Interruptend - offset Interrupt
c...
阅读全文 |
评论次数(0) |
浏览次数(215) |
所属类型(汇编作业)
[2015-05-06 11:00] 实验 13 编写 应用中断例程
;①编写并安装 7CH 中断例程, 功能为显示一个用0结束的字串符,中断例程安装在0:200h处
;参数 dh = 行号 dl = 列号 cl = 颜色
;以上的程序安装后 下面的程序进行单步更正,
;尤其注意观察int iret 指令执行前后cs 、 ip、和栈中的内容
;程序开始
assume cs:code
data segment
db "welcome to masm!",0
data ends
code segment
start:mov dh,10 ;行号
mov dl,10 ;列号
mov cl,2 ;颜色
mov ax,data
mov ds,...
;参数 dh = 行号 dl = 列号 cl = 颜色
;以上的程序安装后 下面的程序进行单步更正,
;尤其注意观察int iret 指令执行前后cs 、 ip、和栈中的内容
;程序开始
assume cs:code
data segment
db "welcome to masm!",0
data ends
code segment
start:mov dh,10 ;行号
mov dl,10 ;列号
mov cl,2 ;颜色
mov ax,data
mov ds,...
阅读全文 |
评论次数(0) |
浏览次数(195) |
所属类型(汇编作业)
[2015-05-06 10:59] 复习了下十三章 7ch中断 实现 loop 的功能
先附上 运行的代码
assume cs:code
data segment
db "hello masm love you 1314",0
data ends
code segment
start:mov ax,data
mov ds,ax
mov si,0
mov ax,0b800h
mov es,ax
mov di,8*160+12*4
mov bx,offset s - offset send ;得到标号的偏移地址
call s ;调用子程序 ...
assume cs:code
data segment
db "hello masm love you 1314",0
data ends
code segment
start:mov ax,data
mov ds,ax
mov si,0
mov ax,0b800h
mov es,ax
mov di,8*160+12*4
mov bx,offset s - offset send ;得到标号的偏移地址
call s ;调用子程序 ...
阅读全文 |
评论次数(0) |
浏览次数(193) |
所属类型(汇编作业)
[2015-05-06 10:58] 编写一个内中断7C 用来改变字符串大小写的功能
调用处
;编写 安装程序中断7C的中断处理程序
;功能: 将一个全是字串符,以0为结尾的字串符,转化为大写
;参数; ds:si指向字符串的首地址
assume cs:code
data segment
db "Beginner's All-purpose Symbolic Instruction Code.",0
data ends
code segment
start:mov ax,data
mov ds,ax
mov si,0
int 7ch
mov ax,4c00h
int 21h
c...
;编写 安装程序中断7C的中断处理程序
;功能: 将一个全是字串符,以0为结尾的字串符,转化为大写
;参数; ds:si指向字符串的首地址
assume cs:code
data segment
db "Beginner's All-purpose Symbolic Instruction Code.",0
data ends
code segment
start:mov ax,data
mov ds,ax
mov si,0
int 7ch
mov ax,4c00h
int 21h
c...
阅读全文 |
评论次数(0) |
浏览次数(193) |
所属类型(汇编作业)
[2015-05-06 10:55] 编写 处理 0 号 中断的程序
;编写 可以显示:overflow!:的中断处理程序 Do0
;将DO0的代码送入0000:0200处
;将DO0的入口地址0000:0200存储在中断向量表0号表项中
;程序在执行的时候 DO0是不执行的!因为DO0是我们设置的中断向量,
;它只能作为Do0暗疮程序索要传送的数据
;程序在执行时 首先执行安装Do0 将Do0的代码复制到000:0200处 然后这只中断向量表
; 将do0的入口地址 段地址和偏移地址送入保存在0号表项中,将0号中断处理程序的入口地址设置为0:0200处
;do0的代码虽然在程序中,却不在程序执行的时候执行 ,它是在出发溢出的时候才得以执行的中断处...
;将DO0的代码送入0000:0200处
;将DO0的入口地址0000:0200存储在中断向量表0号表项中
;程序在执行的时候 DO0是不执行的!因为DO0是我们设置的中断向量,
;它只能作为Do0暗疮程序索要传送的数据
;程序在执行时 首先执行安装Do0 将Do0的代码复制到000:0200处 然后这只中断向量表
; 将do0的入口地址 段地址和偏移地址送入保存在0号表项中,将0号中断处理程序的入口地址设置为0:0200处
;do0的代码虽然在程序中,却不在程序执行的时候执行 ,它是在出发溢出的时候才得以执行的中断处...
阅读全文 |
评论次数(0) |
浏览次数(179) |
所属类型(汇编作业)