`
xshq
  • 浏览: 42980 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

王爽《汇编语言》课程设计一

    博客分类:
  • pc
 
阅读更多
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

    王爽《汇编语言》课程设计2源程序.asm。测试环境:VMware创建XP虚拟机和软盘镜像,运行编译后的可执行文件.exe。重启XP虚拟机查看效果。

    王爽——汇编课程设计一

    王爽----汇编语言 课程设计一(含代码)

    王爽汇编课程设计2

    完全自我独立完成的王爽汇编语言课程设计2,虽然自我比较满意,比较完整,可以给初学者一个参考,大虾们也可提提建议。 (本程序在Virtual PC 上通过,杀毒软件提示病毒,但具体原因你知道的,请不要担心...

    王爽 汇编语言 第二版 课程设计二

    王爽 汇编语言 第二版 从课程设计二 该程序需在虚拟机上实现,因为要对硬盘进行读写,如果在真机上实现,可能会损坏硬盘上数据。

    王爽汇编语言源码

    这是王爽汇编语言全部的源码,《汇编语言》是本好书,值得我分享源码。

    王爽 汇编语言电子课件

    asmedu.net网通过提供汇编课程电子课件、专家技术讨论、学生实践辅导等方式为汇编语言教师教授汇编语言课程提供支持。本支持区发挥汇编网在计算机业内拥有的技术专家人脉的优势,为汇编教师教好汇编语言课程提供支持...

    王爽汇编语言课程教学第二版

    汇编语言是直接在硬件之上工作的编程语言,首先要了解硬件系统的结构,才能有效的应用汇编语言对其编程。

    王爽汇编语言学习课程工具资料

    《汇编语言王爽(第2版)》课后答案 《汇编语言(第3版) 》王爽著 工具DOSBOX

    王爽《汇编语言》第二版课程设计2,我的答案

    这次课程设计的任务是编写一个可以自行启动计算机,不需要在现有操作系统环境中运行的程序。 改程序的功能如下: ( 1 )列出功能选项,让用户通过键盘进行选择,界面如下: 1 ) reset pc ; 重新启动计算机 2...

    《汇编语言第4版王爽》全部检测点、实验任务与课程设计答案

    除此之外还包含学习笔记(PDF版和GoodNotes5版),DOSBox0.74-3入门教程以及汇编环境搭建教程,功能强大的文本编辑器UE(支持官网更新),教材用到的所有文件以及汇编常用文件,例如masm5.0/debug.exe/link.exe/tc2.0....

    王爽《汇编语言第2版》课程设计2原代码

    这个代码用masm编译,用link连接成一个exe文件,在纯DOS下运行后,就能用软盘进行启动。代码比课本要求多了一个功能,就是可以用光带移动来选择菜单。代码浅显易懂,而且配有大量的注释。

    汇编语言王爽课程设计二源代码

    测试环境: VMWARE 11.1.2 MS-DOS

    中南大学汇编语言实验报告(王爽)

    里边有中南大学四次的汇编语言实验报告和两次汇编语言作业

    王爽汇编语言教程ppt

    这是王爽老师的汇编语言课程的ppt和源码

    汇编语言程序设计-王爽

    经典汇编语言程序设计教材,著名计算机专家王爽主编。内容丰富,讲解清晰,特别适宜初学者,和希望深入学习研究的人

    王爽汇编语言第二版

    汇编语言是很多相关课程(如数据结构、操作系统、微机原理等)的重要基础。为了更好地引导、帮助读者学习汇编语言,作者以循序渐进的思想精心创作了这本书。本书具有如下特点:采用了全新的结构对课程的内容进行组织,...

    王爽汇编语言实验代码

    此归档文件包含汇编语言(王爽)实验七及其之后的实验代码,其中以e开头为实验要求代码,以t开头为测试代码,Course Design为课程设计。 --by ster

    王爽-汇编语言汇编语言_第2版

    王爽-汇编语言汇编语言_第2版 汇编语言是各种CPU提供的机器指令的助记符的集合,人们可以用汇编语言直接控制硬件系统进行工作。汇编语言是很多相关课程(如数据结构、操作系统、微机原理等)的重要基础。为了更好地...

    王爽 汇编语言 第三版 电子课件

    汇编语言是各种CPU提供的机器指令的助记符的集合 人们可以用汇编语言直接控制硬件系统进行工作 汇编语言是很多相关课程 如数据结构 操作系统 微机原理等 的重要基础 为了更好地引导 帮助读者学习汇编语言 作者以循序...

    王爽 汇编语言(带答案)——超经典汇编学习教材

    很经典的汇编语言书 带有答案 PDF格式 本书作者以循序渐进的方式精心创作了这本书。本书具有如下特点:采用全新的结构对课程的内容进行了组织,对知识进行最小化分割,为读者构造了循序渐进的学习线索;在深入本质的...

Global site tag (gtag.js) - Google Analytics