汇编记录

汇编基础习题

题1

编写一个程序,计算\frac{X*Y-Z}{X}的值。其中X、Y、Z均为16位带符号数,要求表达式的计算结果存放在数据段的RESULT单元中。

DATA SEGMENT
 X DW 2H
 Y DW 44H
 Z DW 8H
 RESULT DW ?
DATA ENDS

CODE SEGMENT
  ASSUME CS:CODE,DS:DATA
START:
  MOV AX,DATA
  MOV DS,AX
  MOV AX,X
  MOV BX,Y
  IMUL BX           ;有符号乘
  SBB AX,Z          ;借位减
  IDIV X            ;有符号除
  MOV RESULT,AX
  JMP $
  CODE ENDS
END START

题2

设某班学生(10名)某门课程的成绩存放在内存中,试编程统计90分以上、80-89分、70-79分、60-69分、低于60分的学生人数,并分别存放到A、B、C、D、E单元中。

DATA  SEGMENT
  TAB DB 60,70,80,90,77,88,76,69,74,58          ;10个学生成绩
  A DB 0H
  B DB 0H
  C DB 0H
  D DB 0H
  E DB 0H
DATA ENDS

CODE SEGMENT
  ASSUME CS:CODE,DS:DATA
START:
  MOV AX,DATA
  MOV DS,AX
  MOV BX,OFFSET TAB   ;初始化指针
  MOV CX,10           ;设置计数器初值
  SELECT:
   MOV AL,[BX]
   CMP AL,90                ;大于等于90
   JGE G1
   CMP AL,80                ;大于等于80
   JGE G2
   CMP AL,70                ;大于等于70
   JGE G3
   CMP AL,60                ;大于等于60
   JGE G4
   JMP G5                   ;其他
G1:
   INC A
   JMP ENDLOOP
G2:
   INC B
   JMP ENDLOOP
G3:
   INC C
   JMP ENDLOOP
G4:
   INC D
   JMP ENDLOOP
G5:
   INC E
   JMP ENDLOOP
  ENDLOOP:
    INC BX           ;指针移动 + 1
  LOOP  SELECT
  JMP $
 CODE ENDS
END START

题3

用主程序、子程序结构实现判断textdata(10个单元)中的数据是否为“0”~“F”的ASCII码。若是,用十六进制数覆盖原单元,否则用0FFH覆盖原单元。

DATA SEGMENT
 TEXTDATA DB 03h,30h,35h,41h,46h,57h,78h,91h,01h,02h          ;10个参数
 RUSTDATA DB 10 DUP(?)
 DO DB ?
 NUM DB ?
DATA ENDS

CODE SEGMENT
  ASSUME CS:CODE,DS:DATA
  START PROC
  MOV AX,DATA
  MOV DS,AX
  MOV BX,OFFSET TEXTDATA  ;初始化指针
  MOV SI,OFFSET RUSTDATA
  MOV CX,10           ;设置计数器初值
  SELECT:
   MOV AL,[BX]
   CALL CHECK
   MOV [BX],AL
   MOV [SI],AL
   INC BX           ;指针移动 + 1
   INC SI           ;指针移动 + 1      
  LOOP  SELECT
  JMP $
  START ENDP

  ;子程序
  CHECK PROC
 CMP AL,'0'
 JGE CEK      ;判断AL >= '0'
 JMP WRONG
CEK:
  CMP AL,'F'
  JLE RIGHT   ;判断AL <= 'F'
  JMP WRONG
RIGHT: 
    RET
WRONG:
    MOV AL,0FFH
    RET
     
  CHECK ENDP
  CODE ENDS
END START
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.地址总线,数据总线,控制总线在哪里,它们有什么作用?答:它们都是cpu连接外部组件的线路。地址总线:地址总线A...
    MagicalGuy阅读 1,668评论 0 1
  • 计算机通过执行指令序列来使机器得以工作,所以对于每一系列的计算机都有指定的一组指令集供计算机使用,这组指令...
    未来科技工作室阅读 8,317评论 1 10
  • 8086汇编 本笔记是笔者观看小甲鱼老师(鱼C论坛)《零基础入门学习汇编语言》系列视频的笔记,在此感谢他和像他一样...
    Gibbs基阅读 37,991评论 8 114
  • 01.01_计算机基础知识(计算机概述)(了解) A:什么是计算机?计算机在生活中的应用举例计算机(Compute...
    冰川_阅读 339评论 0 1
  • 编程语言的发展 机器语言由0和1组成 汇编语言(Assembly Language)用符号代替了0和1,比机器语言...
    阿凡提说AI阅读 4,544评论 0 15

友情链接更多精彩内容