20180331体系第一次上机作业

体系第一次上机作业


0示例程序调试

第5章第137页的示例程序,并增加如下功能:

(1) 程序开始时,在屏幕上显示本人的姓名全拼和学号,格式如下:

NAME: Xiao Wanzi

ID:1302102910

(2) 程序结束时,在屏幕上显示“Good Bye!”

(3) 此题不需要提交源代码,仅用于熟悉掌握汇编程序的基本结构。

提示:输入输出可见参考书《微型计算机基本原理与应用》的附录二“DOS功能调用”

  • 代码如下
DATA SEGMENT                            ;数据段  
    NUM    DW 0011101000000111B         ;3A07H  
    MYNAME DB 'NAME:Feng Haoran','$'   ;姓名  
    MYID   DB 'ID:1600013009','$'       ;学号  
    MYBYE  DB 'Good Bye!','$'           ;结束语  
    NOTES  DB 'The result is:','$'  
DATA ENDS  
STACK SEGMENT STACK                     ;堆栈段  
    STA     DB 50 DUP(?)  
    TOP     EQU LENGTH STA  
STACK ENDS  
CODE SEGMENT                            ;代码段  
    ASSUME CS:CODE, DS:DATA, SS:STACK     
    BEGIN:  MOV AX, DATA  
            MOV DS, AX          ;为DS赋初值  
            MOV AX, STACK  
            MOV SS, AX          ;为SS赋初值  
            MOV AX, TOP  
            MOV SP, AX          ;为SP赋初值  

            MOV DX, OFFSET MYNAME  
            MOV AH, 09H         ;显示字符串MYNAME  
            INT 21H             ;DS:DX=串地址,'$'结束字符串  

            MOV DL, 0DH         ;输出回车  
            MOV AH, 2  
            INT 21H  
            MOV DL, 0AH         ;输出换行  
            MOV AH, 2  
            INT 21H  

            MOV DX, OFFSET MYID  
            MOV AH, 09H         ;显示字符串MYID  
            INT 21H             ;DS:DX=串地址,'$'结束字符串;INT 21H是中断指令,执行后标记就被存储进AL中;AH为09H时INT的功能是输出字符串,02H时为输出字符

            MOV DL, 0DH         ;输出回车,0D是回车
            MOV AH, 2  
            INT 21H
            MOV DL, 0AH         ;输出换行  
            MOV AH, 2  
            INT 21H  

            MOV DX, OFFSET NOTES  
            MOV AH, 09H         ;显示字符串NOTES,ASCII码09对应tab 
            INT 21H             ;DS:DX=串地址,'$'结束字符串  


            MOV BX, NUM         ;将数装入BX  
            MOV CH, 4           ;共4个十六进制数字  
  ROTATE:   MOV CL, 4           ;CL为位移位数  
            ROL BX, CL  
            MOV AL, BL  
            AND AL, 0
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值