首页 > 编程语言 >汇编语言 分数段

汇编语言 分数段

时间:2024-03-28 22:45:46浏览次数:31  
标签:int 汇编语言 mov 分数段 bl si score cmp

汇编语言 设有一个数组存放学生的成绩(0100),编制一个子程序统计059分,60~69分, 70~79分, 80~89分,90~100分的人数,并分别存放到scoreE, scoreD, scoreC, scoreB, scoreA单元中,编写一~个主程序与之配合使用。

源程序:

stack segment stack
dw 512 dup(?)
stack ends
data segment
score db 30,33,67,59,69,78,81,100,83,84,93
count equ($-score)/type score
scoreA db 30h
scoreB db 30h
scoreC db 30h
scoreD db 30h
scoreE db 30h
data ends
code segment 'code'
assume cs:code,ds:data,ss:stack
start:
mov ax,data
mov ds,ax
call scores
mov bl,scoreA
call counts
mov dl,20h
mov ah,02h
int 21h
mov bl,scoreB
call counts
mov dl,20h
mov ah,02h
int 21h
mov bl,scoreC
call counts
mov dl,20h
mov ah,02h
int 21h
mov bl,scoreD
call counts
mov dl,20h
mov ah,02h
int 21h
mov bl,scoreE
call counts
mov ax,4c00h
int 21h
scores proc
xor si,si
mov cx,count
lop: cmp score[si],0
jb last
cmp score[si],60
jb se
cmp score[si],70
jb sd
cmp score[si],80
jb sc
cmp score[si],90
jb sb
cmp score[si],101
jb sa
jmp last
sa: inc scoreA
jmp last
sb: inc scoreB
jmp last
sc: inc scoreC
jmp last
sd: inc scoreD
jmp last
se: inc scoreE

last: inc si
loop lop
ret
scores endp
counts proc
mov bh,30h
cmp bl,39h
ja s1
mov dl,bl
mov ah,02h
int 21h
jmp there
s1: sub bl,0ah
inc bh
cmp bl,39h
ja s1
mov dl,bh
mov ah,02h
int 21h
mov dl,bl
mov ah,02h
int 21h
there: ret
counts endp
code ends
end start

 

标签:int,汇编语言,mov,分数段,bl,si,score,cmp
From: https://www.cnblogs.com/duanqibo/p/18102811

相关文章

  • 汇编语言(第4版)王爽 课程设计2 详细实现(三、界面优化篇)
    目录0.前文概述1.子界面文字说明1.1.时钟显示1.2.时钟设置2.光标处理2.1.字符串输入光标2.2.新的问题3.完整代码4.总结0.前文概述前面两篇文章中我们编写了一个可以自行启动计算机,不需要在现有操作系统环境中运行的程序。第一部分我们实现了程序在虚......
  • 从高级语言到汇编语言(MIPS)
    从高级语言到汇编语言(MIPS)C语言是如何转化为汇编语言的?这一步在电脑中是由汇编程序完成的,但是了解C语言到汇编语言的转换过程有利于我们更好的编写出性能更加优异的程序,因此下面我将逐步介绍从C到MIPS的核心思想和实现步骤。一、存储结构核心:在MIPS中,所有的操作数必须来......
  • 汇编语言——实现用多种寻址方式在屏幕上显示“hello world !“
    ;数据段定义datasegment stringdb"helloworld!",0dh,0ah,'$' ;想要显示的字符个数,不显示$ countdw$-string-1dataends;堆栈段定义stacksegmentstack toplabelword dw30hdup(?)stackends;代码段定义codesegment ;assum伪指令,不执行 ass......
  • 计算机基础系列 —— 汇编语言
    Samehardwarecanrunmanydifferentprograms(Software)文中提到的所有实现都可以参考:nand2tetris_sol,但是最好还是自己学习课程实现一遍,理解更深刻。我们在之前的文章里,构建了Register、RAM和ALU,使得我们有了存储和计算的能力,我们接着借助之前的组合逻辑单元和时序......
  • 汇编语言中的ORG指令
    一ORG指令ORG是Origin的缩写:起始地址,源。在汇编语言源程序的开始通常都用一条ORG伪指令来实现规定程序的起始地址。如果不用ORG规定则汇编得到的目标程序将从0000H开始。例如:ORG2000HSTART:MOVAX,#00H汇编语言源程序中若没有ORG伪指令,则程序执......
  • 汇编语言中的MVC
    一MVC指令1.移动字符串指令MVC移动字符串指令MVC的格式为:MVCD1(L,B1),D2(B2)(移动字符串)功能:(D1+(B1))←(D2+(B2))L个字符指令的执行用开始于D2(B2)的L字节替换开始于D1(B1)的L字节的内容。L个字节的内容每次改变一个,从左边开始。如果域不重叠的话,这一事实是不重要的,但......
  • C++ <atomic>汇编语言实现原理
    C++<atomic>汇编语言实现原理问题我们先看一下这段代码:/**badcnt.c-Animproperlysynchronizedcounterprogram*//*$beginbadcnt*//*WARNING:Thiscodeisbuggy!*/#include"csapp.h"void*thread(void*vargp);/*Threadroutineprototype*//*......
  • 《汇编语言》第3版 (王爽)实验7解析
    实验7解析实验7寻址方式在结构化数据访问中的应用解析:方法一:将每个数据项逐个进行传输,共有4个数据项(分别是年份、收入、雇员数、人均收入)人均收入需要计算后得到,每个数据项又有21个元素,所以需要传输21次assumecs:codedatasegment db'1975','1976','1977','1......
  • 汇编语言王爽
    第1章基础知识1.1机器语言机器语言是机器指令的集合,机器指令就是一堆二进制数字早期计算机就是执行机器指令,进行运算现在PC机种CPU(一种微处理器)会处理这些每一种微处理器,硬件设计和内部结构的不同,需要不同电平脉冲来控制,所以都有自己的机器指令集(机器语言)1.2汇编语言的......
  • 高性能计算——汇编语言(三)
    汇编语言(三)文章目录汇编语言(三)函数和递归(**FunctionsandRecursion**)栈(**TheStack**)**调用约定(CallingConventions)****内联(Inlining)****尾递归消除(TailCallElimination)**函数和递归(FunctionsandRecursion)在汇编语言中,“调用一个函数”,需要跳转......