微机原理作业与答案第四章(2)

2018-12-08 20:35

LLL: STOSB DEC CX

JNZ LLL CSEG ENDS END START 第二种做法: D SEGMENT

BUF1 DB ‘QWE233459JKGHGFHGF’ BUF2 DB ‘ASD33459JKGHGFHGFI’ D ENDS

STACK SEGMENT STACK

DB 200 DUP(0)

STACK ENDS

CSEG SEGMENT

ASSUME CS:CSEG,DS:D,SS:STACK

BG: MOV AX,D

MOV DS,AX MOV ES,AX LEA SI,BUF1 LEA DI,BUF2 MOV CX,LEN NEXT:MOV AL,[SI]

MOV [DI],AL MOV [SI],00H INC SI INC DI LOOP NEXT MOV AH,4CH INT 21H CSEG ENDS END BG

4-14` 试编写一程序,找出BUF数据区中带符号数的最大数和最小数,把最大数放到BH单元,把最小数放到BL单元。

DDD0 SEGMENT BUF DB 5,90,-45,100,99,???,-12 N EQU $-BUF

DDD0 ENDS STACK SEGMENT STACK DB 200 DUP(0) STACK ENDS

CSEG SEGMENT

ASSUME CS:CSEG,DS:DDD0,SS:STACK

START: MOV AX,DDD0 MOV DS,AX

MOV CX,N-1

MOV SI,0

MOV BH,BUF[SI] MOV BL,BUF[SI]

AGAIN: INC SI

CMP BH,BUF[SI]

JGE NEXT ;JAE NEXT错(无符号数) MOV BH,BUF[SI] LOOP AGAIN

JMP STOP

NEXT: CMP BL,BUF[SI]

JLE ABC

MOV BL,BUF[SI] ABC:LOOP AGAIN STOP: MOV AH,4CH

INT 21H

CSEG ENDS END START

4-16 若AL中的内容为2位压缩的BCD数68H,试编程:(1)

将其拆开成非压缩的BCD数,高低位分别存入BH和BL中。 (2)将上述要求的2位BCD码变换成对应的ASCII码,并且存入CH和CL中。 (1)

STACK SEGMENT STACK

DB 200 DUP(0)

STACK ENDS

CSEG SEGMENT

ASSUME CS:CSEG, SS:STACK

START: MOV BL,AL ;而不是AX AND BL,0FH

MOV BH,AL AND BH,0F0H MOV CL,4

SHR BH,CL (逻辑右移) CSEG ENDS

END START (2)

STACK SEGMENT STACK

DB 200 DUP(0)

STACK ENDS

CSEG SEGMENT

ASSUME CS:CSEG,SS:STACK

START: ADD BL,30H

MOV CL,BL ADD BH,30H MOV CH,BH ENDS

END START 方法2

STACK SEGMENT STACK

DB 200 DUP(0)

STACK ENDS

CSEG SEGMENT

ASSUME CS:CSEG,SS:STACK

START: MOV BL,AL

AND BL,0FH ;(BL)是低位非压缩的BCD码

MOV DL,BL

ADD DL,30H ;(DL)是低位ASCII码

MOV BH,AL ;(BH)将是高位非压缩的BCD码 AND BH,0F0H MOV CL,4

SHR BH,CL ;(BH)是高位非压缩的BCD码 MOV CH,BH

ADD CH,30H ;(CH)是高位ASCII码 MOV CL,DL ;(CL)是低位ASCII码 CSEG ENDS

4-18试用子程序结构编写一程序:从键盘输入一个2位十进制的月份数(01~12),然后显示出相应的英文缩写名。 提示:根据题目要求实现的功能,可编写用一个主程序MAIN分别调用几个子程序。

(1) INPUT从键盘接收一个2位数,并把它转换为对应的

二进制数。

(2) LOCATE 把输入的月份数与其英文缩写名(如JAN,

FEB,MAR,APP,MAY,JUN等)对应起来,制成一个字符表以便查找。

(3) DISPLAY 将找到的缩写字母在屏幕上显示出来,显

示可用DOS所提供的显示功能(INT 21H的09号功能)。 DDD0 SEGMENT

D1 DB \keyboad\D2 DB 3, ?,3 DUP(?)

END START

D3 DB \MONTH0 DB \DB \DB \DB \DB \DB \DB \DB \DB \DB \DB \DB \DDD0 ENDS

STACK SEGMENT STACK DB 200 DUP(0) STACK ENDS

CSEG SEGMENT ASSUME CS:CSEG,DS:DDD0,SS:STACK START:CLD

MOV AX,DDD0

MOV DS,AX

CALL INPUT CALL LOCATE CALL DISPLAY MOV AH,4CH INT 21H

CSEG ENDS ;不可少 END START


微机原理作业与答案第四章(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:公文写作常识:党政机关公文处理工作条例解读

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: