微机原理与汇编语言--第五周作业

1、 mov al,97H
mov bl, 8AH
add al,bl
执行上面三条指令后,al中的值是多少?CF、OF、SF、ZF分别是多少?请给出al和bl对应的8个二进制位加法式子。
122H 1 1 1 0

2、 把al中的数以二进制形式显示。(如果al=9,显示00001001。需要用到rol指令和and指令)

DATAS SEGMENT
    ;此处输入数据段代码
    a1 byte 9 
DATAS ENDS

STACKS SEGMENT
    ;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
    MOV AX,DATAS
    MOV DS,AX
    ;此处输入代码段代码
    ;二进制显示十进制数
    
    mov si,offset a1
    call Display_binary_numbers
    
    
    MOV AH,4CH
    INT 21H
    
    Display_binary_numbers proc
    push bx
   	push cx
    push dx
    mov al,[si];给al赋值
    mov cl,al;al会返回输出的字符,所以用cl存值
    mov bl,1
    mov bh,8
D1:
    rol cl,1
    sub bh,1
    mov dl,cl
    and dl,bl
    add dl,48
    mov ah,2
    int 21h
    cmp bh,0
    je Dover
    ja D1

Dover:	
	pop bx
	pop cx
	pop dx
    ret
    Display_binary_numbers endp
    
    
CODES ENDS
    END START
DATAS SEGMENT
	a1 db 12,2,113,4,5
	a2 word 12,2,113,4,5
   	srcstring db 'abcd'
   	a3 db 'testtesttest'
DATAS ENDS

EXTRAS SEGMENT
	b1 db 1,2,3
deststring db lengthof srcstring dup (?)  
b2 db 1,2,3,4,5
EXTRAS ENDS

STA
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值