assume cs:code,ds:data
buf segment
db 0a0H dup (' '),0
buf ends
data segment
db '1975','1976','1977','1978','1979','1980','1981','1982','1983','1984'
db '1985','1986','1987','1988','1989','1990','1991','1992','1993','1994'
db '1995'
;以上表示21年的21个字符串
dd 16,22,382,1356,2390,8000,16000,24486,50065,97479
dd 140417,197514,345980,590827,803530,1183000,1843000,2759000,3753000,4649000
dd 5937000
;以上表示21年公司总收入的21个dword型数据
dw 3,7,9,13,28,38,130,220,476,778
dw 1001,1442,2258,2793,4037,5635,8226,11542,14430,15257
dw 17800
;以上是表示21年公司雇员人数的21个word型数据
data ends
table segment
db 21 dup ('year summ ne ?? '),0
table ends
code segment
main:
mov ax,table
mov ds,ax
mov ax,data
mov es,ax
mov si,0
mov di,0
call copy
mov ax,buf
mov ds,ax
mov ax,table
mov es,ax
mov bl,2
mov cx,21
s2:
mov ax,es:[di]
mov [si],ax
mov ax,es:[di+2]
mov [si+2],ax
mov al,es:[di+4]
mov [si+4],al
mov ax,es:[di+5]
mov dx,es:[di+7]
add si,5
call dtoc
mov ax,es:[di+10]
xor dx,dx
add si,11
call dtoc
mov ax,es:[di+13]
xor dx,dx
add si,6
call dtoc
xor si,si
mov dh,bl
mov dl,2
push cx
mov cl,2
add di,10H
call show_str
pop cx
inc bl
loop s2
mov ax,4c00H
int 21H
copy:
push ax
push bx
push cx
push dx
push si
push di
xor bx,bx
mov cx,21
s1:
;年份
mov ax,es:[bx+di]
mov [si],ax
mov ax,es:[bx+di].2
mov [si].2,ax
;总收入
mov ax,es:84[bx+di]
mov [si].5,ax
mov dx,es:84[bx+di].2
mov [si].7,dx
;平均收入
div word ptr es:168[di]
mov [si].13,ax
;人数
mov ax,es:168[di]
mov [si].10,ax
xor al,al
;mov [si+0fH],al
add bx,2
add di,2
add si,10H
loop s1
pop di
pop si
pop dx
pop cx
pop bx
pop ax
ret
;名称: show_str
;功能: 在指定的位置,用指定的颜色,显示一个用0结尾的字符串
;参数: (dh)=行号(取值范围0-24),(dl)=列号(取值范围0-79),(cl)=颜色
; ds:si指向字符串的首地址
;返回: 无
show_str:
push ax
push bx
push cx
push dx
push es
push si
push di
mov ax,0b800H
mov es,ax
mov al,0a0H ;行长度
mul dh
mov bx,ax ;行地址
xor dh,dh
mov di,dx
add di,dx ;列地址
mov al,cl ;属性
do:
mov cl,[si]
mov ch,0
jcxz enddo
mov ch,al;属性
mov es:[bx][di],cx
inc si
add di,2
jmp short do
enddo:
pop di
pop si
pop es
pop dx
pop cx
pop bx
pop ax
ret
;名称: dtoc
;功能: 将word型数据转变为表示十进制数的字符串,字符串以0为结尾符
;参数: (ax)=结果的低16位,(dx)=结果的高16位,ds:si指向字符串的首地址
;返回: 无
dtoc:
push ax
push cx
push dx
push si
push di
do1:
mov cx,10
call divdw
;(ax)=结果的低16位,(dx)=结果的高16位,(cx)=余数
add cx,30H
mov [si],cl
inc si
mov cx,ax
or cx,dx
jcxz enddo1
jmp short do1
enddo1:
;mov byte ptr [si],0
mov bp,sp
mov di,[bp+2]
mov cx,si
sub cx,di
shr cx,1
jcxz s3
dec si
s:
xchg dl,[si]
xchg dl,[di]
xchg dl,[si]
dec si
inc di
loop s
s3:
pop di
pop si
pop dx
pop cx
pop ax
ret
;名称: divdw
;参数: (ax)=dword型数据的低16位,(dx)=dword型数据的高16位
; (cx)=除数
;返回: (ax)=结果的低16位,(dx)=结果的高16位
; (cx)=余数
divdw:
push bp
mov bp,sp
sub bp,6
mov [bp],ax
mov [bp+2],dx
mov ax,[bp+2]
xor dx,dx
div cx
mov [bp+4],ax
mov ax,[bp]
div cx
mov cx,dx
mov dx,[bp+4]
pop bp
ret
code ends
end main
分享到:
相关推荐
王爽《汇编语言》课程设计2源程序.asm。测试环境:VMware创建XP虚拟机和软盘镜像,运行编译后的可执行文件.exe。重启XP虚拟机查看效果。
王爽----汇编语言 课程设计一(含代码)
完全自我独立完成的王爽汇编语言课程设计2,虽然自我比较满意,比较完整,可以给初学者一个参考,大虾们也可提提建议。 (本程序在Virtual PC 上通过,杀毒软件提示病毒,但具体原因你知道的,请不要担心...
王爽 汇编语言 第二版 从课程设计二 该程序需在虚拟机上实现,因为要对硬盘进行读写,如果在真机上实现,可能会损坏硬盘上数据。
这是王爽汇编语言全部的源码,《汇编语言》是本好书,值得我分享源码。
asmedu.net网通过提供汇编课程电子课件、专家技术讨论、学生实践辅导等方式为汇编语言教师教授汇编语言课程提供支持。本支持区发挥汇编网在计算机业内拥有的技术专家人脉的优势,为汇编教师教好汇编语言课程提供支持...
汇编语言是直接在硬件之上工作的编程语言,首先要了解硬件系统的结构,才能有效的应用汇编语言对其编程。
《汇编语言王爽(第2版)》课后答案 《汇编语言(第3版) 》王爽著 工具DOSBOX
这次课程设计的任务是编写一个可以自行启动计算机,不需要在现有操作系统环境中运行的程序。 改程序的功能如下: ( 1 )列出功能选项,让用户通过键盘进行选择,界面如下: 1 ) reset pc ; 重新启动计算机 2...
除此之外还包含学习笔记(PDF版和GoodNotes5版),DOSBox0.74-3入门教程以及汇编环境搭建教程,功能强大的文本编辑器UE(支持官网更新),教材用到的所有文件以及汇编常用文件,例如masm5.0/debug.exe/link.exe/tc2.0....
这个代码用masm编译,用link连接成一个exe文件,在纯DOS下运行后,就能用软盘进行启动。代码比课本要求多了一个功能,就是可以用光带移动来选择菜单。代码浅显易懂,而且配有大量的注释。
测试环境: VMWARE 11.1.2 MS-DOS
里边有中南大学四次的汇编语言实验报告和两次汇编语言作业
这是王爽老师的汇编语言课程的ppt和源码
经典汇编语言程序设计教材,著名计算机专家王爽主编。内容丰富,讲解清晰,特别适宜初学者,和希望深入学习研究的人
汇编语言是很多相关课程(如数据结构、操作系统、微机原理等)的重要基础。为了更好地引导、帮助读者学习汇编语言,作者以循序渐进的思想精心创作了这本书。本书具有如下特点:采用了全新的结构对课程的内容进行组织,...
此归档文件包含汇编语言(王爽)实验七及其之后的实验代码,其中以e开头为实验要求代码,以t开头为测试代码,Course Design为课程设计。 --by ster
王爽-汇编语言汇编语言_第2版 汇编语言是各种CPU提供的机器指令的助记符的集合,人们可以用汇编语言直接控制硬件系统进行工作。汇编语言是很多相关课程(如数据结构、操作系统、微机原理等)的重要基础。为了更好地...
汇编语言是各种CPU提供的机器指令的助记符的集合 人们可以用汇编语言直接控制硬件系统进行工作 汇编语言是很多相关课程 如数据结构 操作系统 微机原理等 的重要基础 为了更好地引导 帮助读者学习汇编语言 作者以循序...
很经典的汇编语言书 带有答案 PDF格式 本书作者以循序渐进的方式精心创作了这本书。本书具有如下特点:采用全新的结构对课程的内容进行了组织,对知识进行最小化分割,为读者构造了循序渐进的学习线索;在深入本质的...