《实验六循环程序设计.doc》由会员分享,可在线阅读,更多相关《实验六循环程序设计.doc(3页珍藏版)》请在金锄头文库上搜索。
1、实验六 循环程序设计学时:2学时目的:1、 熟悉循环和跳转指令的使用2、 学习循环程序的设计备注:汇编语言程序格式:datarea segment;数据段datarea endsextra segment;附加段extra endsprognam segment main proc far assume cs:prognam,ds:datarea,es:extrastart: push ds sub ax,ax push ax mov ax,datarea mov ds,ax mov ax,extra mov es,ax ret main endp prognam endsend start实
2、验内容: 在ADDR单元中存放着数Y的地址,试编制一程序把Y中1的个数存入COUNT单元中。 方法一:datarea segment;addr1 dw numbernumber dw Y Y dw 13count dw ?datarea endsprognam segment main proc far assume cs:prognam,ds:datareastart: push ds sub ax,ax push ax mov ax,datarea mov ds,ax mov cx,0 mov bx,addr1 mov ax,bxrepeat1: test ax,0ffffh jz exi
3、t jns shift inc cxshift: shl ax,1 jmp repeat1exit: mov count,cx ret main endp prognam endsend start方法二:datarea segment y db 13 cout db ?datarea endsprognam segment main proc far assume cs:prognam,ds:datareastart: push ds sub ax,ax push ax mov ax,datarea mov ds,ax mov cout,0 mov cx,8again: shl y,1 jc coute loop again jmp nextcoute: inc cout jmp again next:mov ah,09 int 21h ret main endp prognam endsend start