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 上通过,杀毒软件提示病毒,但具体原因你知道的,请不要担心...
《王爽汇编中课程设计2》是一份深入学习汇编语言的重要参考资料,它由知名计算机科学家王爽教授精心设计,旨在帮助学习者巩固和深化对汇编语言的理解。汇编语言是计算机科学的基础,是程序员与硬件直接对话的语言,...
汇编语言是一种低级程序设计语言,它与机器语言密切相关,但比机器语言更易读、易写。通过学习汇编语言,我们可以了解到计算机指令集的基本结构,掌握如何直接控制硬件资源。《汇编语言王爽(第2版)》课后答案为读者...
《王爽汇编语言》是一本深受程序员喜爱的经典教材,它深入浅出地介绍了汇编语言的基础知识和编程技巧。王爽教授以其独特的教学风格,将复杂的汇编语言概念简化,使得初学者也能轻松入门。这份"王爽汇编语言源码"包含...
王爽 汇编语言 第二版 从课程设计二 该程序需在虚拟机上实现,因为要对硬盘进行读写,如果在真机上实现,可能会损坏硬盘上数据。
"最强大的王爽汇编语言学习环境"是一个专为学习这门课程设计的资源包,它包含了一系列辅助学习的工具和资料,旨在提供一个全面、高效的实践平台。 首先,汇编语言是计算机科学中的低级编程语言,它与机器语言密切...
asmedu.net网通过提供汇编课程电子课件、专家技术讨论、学生实践辅导等方式为汇编语言教师教授汇编语言课程提供支持。本支持区发挥汇编网在计算机业内拥有的技术专家人脉的优势,为汇编教师教好汇编语言课程提供支持...
汇编语言是直接在硬件之上工作的编程语言,首先要了解硬件系统的结构,才能有效的应用汇编语言对其编程。
《汇编语言》是王爽教授的经典著作,它深入浅出地介绍了...对于想要深入计算机科学领域的学习者来说,汇编语言是必修的一门基础课程,而王爽教授的书籍和配套动画演示无疑为学习者提供了一条高效且有趣的学习路径。
除此之外还包含学习笔记(PDF版和GoodNotes5版),DOSBox0.74-3入门教程以及汇编环境搭建教程,功能强大的文本编辑器UE(支持官网更新),教材用到的所有文件以及汇编常用文件,例如masm5.0/debug.exe/link.exe/tc2.0....
汇编语言的作业则更加注重理论与实践的结合,可能包括设计和分析更复杂的算法,或者解决特定的问题。作业一和作业二可能涵盖了一些新的主题,比如位操作、字符串处理或者处理特定的硬件功能。通过完成这些作业,学生...
汇编语言是计算机科学中的基础课程之一,主要研究计算机内部如何通过一系列指令来执行运算、控制和决策任务。《汇编语言_王爽_清华大学》是一本由王爽编著的、针对初学者的教科书,旨在为读者提供系统学习汇编语言及...
测试环境: VMWARE 11.1.2 MS-DOS
王爽的《汇编语言》是一本深受程序员和计算机科学爱好者欢迎的经典教材,它深入浅出地介绍了汇编语言的基础知识和实际应用。这个压缩包包含的资源是针对该书的辅助学习材料,旨在帮助读者更好地理解和掌握汇编语言的...
这次课程设计的任务是编写一个可以自行启动计算机,不需要在现有操作系统环境中运行的程序。 改程序的功能如下: ( 1 )列出功能选项,让用户通过键盘进行选择,界面如下: 1 ) reset pc ; 重新启动计算机 2...
1.2 汇编语言的产生 1.3 汇编语言的组成 1.4 存储器 1.5 指令和数据 1.6 存储单元 1.7 CPU对存储器的读写 1.8 地址总线 1.9 数据总线 1.10 控制总线 1.11 内存地址空间(概述) 1.12 主板 1.13 接口卡 1.14 ...
《王爽汇编语言实验代码》是一份涵盖了汇编语言学习者在实验七及后续阶段可能需要用到的实践代码资源。这份压缩包由ster提供,它包括了以"e"开头的实验需求代码和以"t"开头的测试代码,以及一个名为"Course Design...
《王爽汇编语言》是一本深受IT从业者和学习者喜爱的经典教材,专注于8086汇编语言的教学。这本书以其深入浅出的讲解方式,为读者提供了全面且易懂的汇编语言知识体系,是学习汇编语言的绝佳参考资料。 在8086汇编...