汇编第三版 王爽 课程设计1
2022/4/1 22:49:48
本文主要是介绍汇编第三版 王爽 课程设计1,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
data segment db '1975','1976','1977','1978','1979','1980','1981','1982','1983' db '1984','1985','1986','1987','1988','1989','1990','1991','1992' db '1993','1994','1995' dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514,345980,590827 dd 803530,1183000,1843000,2759000,3753000,4649000,5937000 dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226 dw 11542,14430,15257,17800 data ends table segment db 21 dup('year summ ne ?? ') table ends show segment db 20 dup(0) show ends code segment start: ;初始化数据 call copy ;思路:一行可以显示80个字符 每列中间空10个字符 每列使用10个字符,靠左 左边空10个字符 mov ax,table mov ds,ax mov ax,show mov es,ax mov bx,0 mov dh,3 ;打印行 mov cx,21 start_s: push cx ;显示年份 mov cx,2 start_s1: mov ax,ds:[bx] mov es:[0],ax mov ax,ds:[bx+2] mov es:[2],ax loop start_s1 mov es:[4],0 mov dl,10 ;列数 mov cl,2 ;字符属性 call show_str ;公司总收入 push dx mov ax,ds:[bx+5] mov dx,ds:[bx+7] call dtoc pop dx mov dl,30 ;列数 mov cl,2 ;字符属性 call show_str ;员工人数 push dx mov ax,ds:[bx+10] mov dx,0 call dtoc pop dx mov dl,50 ;列数 mov cl,2 ;字符属性 call show_str ;人均收入 push dx mov ax,ds:[bx+13] mov dx,0 call dtoc pop dx mov dl,70 ;列数 mov cl,2 ;字符属性 call show_str inc dh add bx,16 pop cx loop start_s ; mov ax,12345 ;数据低位 ; mov dx,1 ;数据高位 ; call dtoc ; mov dh,8 ;行数 ; mov dl,1 ;列数 ; mov cl,2 ;字符属性 ; call show_str mov ax,4c00h int 21h ;数字转字符 dtoc: push cx push si mov si,0 s1: mov cx,10 ;除数 ;返回值:dx 结果高16位 ; ax 结果低16位 ; cx 余数 call divdw add cx,30H push cx ;暂存余数 inc si ;判断结果是否为 0 mov cx,dx ;商为0停止 jcxz ok1 jmp short s1 ok1:mov cx,ax jcxz ok2 jmp short s1 ok2: mov cx,si ;有多少个元素 mov si,0 s2: pop ax mov es:[si],ax add si,1 loop s2 mov es:[si],0 pop si pop cx ret ;屏幕打印 show_str: push ds push es push ax push bx push cx push si push di mov ax,show ;字符打印地址 mov ds,ax mov si,0 mov ax,0b800h mov es,ax ;找到行位置 mov al,160 mov ah,dh mul ah mov bx,ax mov al,2 mov ah,dl mul ah mov di,ax sub di,2 mov al,cl s: mov cl,ds:[si] mov ch,0 jcxz ok mov ah,ds:[si] mov es:[bx+di],ah mov es:[bx+di+1],al add di,2 inc si jmp short s ok: pop di pop si pop cx pop bx pop ax pop es pop ds ret ;通用除法 divdw: push bx push ax mov ax,dx mov dx,0 div cx mov bx,ax ;保存 int(H/N) 被除数高16位 / 除数 pop ax div cx mov cx,dx mov dx,bx ;结果高位 pop bx ret ;数据初始化 copy: ;ds指向数据段 mov ax,data mov ds,ax ;es指向table段 mov ax,table mov es,ax mov cx,21 mov di,0 mov si,0 mov bx,0 copy_s: ;年份1 mov ax,ds:[di] mov es:[bx],ax ;收入1 mov ax,ds:[di+84] mov es:[bx+5],ax ;雇员数 mov ax,ds:[si+168] mov es:[bx+10],ax add si,2 add di,2 ;年份2 mov ax,ds:[di] mov es:[bx+2],ax ;收入2 mov ax,ds:[di+84] mov es:[bx+7],ax ;计算人均收入 mov ax,es:[bx+5] mov dx,es:[bx+7] mov bp,es:[bx+10] div bp mov es:[bx+13],ax add di,2 add bx,16 loop copy_s ret code ends end start
这篇关于汇编第三版 王爽 课程设计1的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-01为什么公共事业机构会偏爱 TiDB :TiDB 数据库在某省妇幼健康管理系统的应用
- 2024-04-26敏捷开发:想要快速交付就必须舍弃产品质量?
- 2024-04-26静态代码分析的这些好处,我竟然都不知道?
- 2024-04-26你在测试金字塔的哪一层?(下)
- 2024-04-26快刀斩乱麻,DevOps让代码评审也自动起来
- 2024-04-262024年最好用的10款ER图神器!
- 2024-04-2203-为啥大模型LLM还没能完全替代你?
- 2024-04-2101-大语言模型发展
- 2024-04-17基于SpringWeb MultipartFile文件上传、下载功能
- 2024-04-14个人开发者,Spring Boot 项目如何部署