assume cs:code
code segment
start:
mov bx,1234h;number to show
mov cx,16;loop time
push bx
s:
mov dx,bx
and dx,8000h
cmp dx,0
je put0
mov ah,02h
mov dl,31h
int 21h;show '1'
jmp onebit
put0:
mov ah,02h
mov dl,30h
int 21h;show '0'
onebit:
shl bx,1;ready for next bit
loop s
pop bx
mov ax,4c00h
int 21h
code ends
end start
有图有真相:
...把存放在BX寄存器内的值(二进制数)用十六进制数的形式在屏幕上...
MOV BX,1111110111100001B MOV CH,4 ;循环四次 LOP: MOV CL,4 ROL BX,CL ;每次循环环左移四位 MOV DX,BX AND DL,0FH ;每次取低四位,来表示一个十六进数 ADD DL,30H ;转化成为ASSIC码 CMP DL,3AH ;判断DL是否大于10的ASSIC码(A+30H)JB NEXT ADD DL,7 ;大于10...
汇编小问题 一个程序要求编制一个程序把BX寄存器内的二进制数用十六进制...
1. EXE程序加载时,DS是指向PSP前缀的。2. PSP前缀总长100H个字节,它最前面偏移地址为0处的第一条代码正是 INT 20H 框架是这样的:MAIN PROC FAR ;这里必须将过程属性定义成远调用,是为了保证最后的RET是远返回 PUSH DS ; 这里入栈的DS,就是PSP的段地址 SUB AX, AX ;PUSH ...
用汇编语言(MASM)编程将寄存器BX中的16位二进制内容颠倒过来
ASSUME CS:CODES START:MOV BX,1234H MOV AX,BX MOV CX,16 LOOP2:SHR AX,1;右移一位,D0到CF RCL BX,1;左移一位,CF到D0 LOOP LOOP2;循环L00P2,直到CX==0成立 MOV AH,4CH ;带返回码结束功能 INT 21H ;返回系统 CODES ENDS END START ...
汇编语言:编写一个程序,显示AL寄存器中的两位十六进制数
;disp_al子程序将寄存器AL中的数值以十六进制显示出来disp_al: mov dh, al mov bx, 2 ;bx用于循环,一个字节最多可以显示成两个字符,所以循环次数是2次 mov cl, 4 ;首先显示高4位,在下次循环进再显示低4位 shr al, clagain: and al, 0fh cmp al, 9 ja hex add al, '0' ;如果小于9,加上字符...
用汇编语言编写一个程序,统计寄存器AX中二进制“1”的个数,结果一位...
;个数存在BL中,若想以各种形式显示,调用不同的子函数即可(现在各种进制转换的汇编代码网上一堆)code segment assume cs:code start:mov ax,1234 mov bl,0;统计1的个数 mov cx,16;循环次数 loop1:test ax,8000h;不断的左移,与8000h比较获取1的个数 jnz loop2 inc bl shl ax,1 loop2:l...
汇编语言实验 分支程序设计
LOOP1: RW STR4, 9 ;输出Please input your telephone number:RWBUF1,10 ;输入号码 RWSTR1,9 ;回车换行 RW STR4, 9 ;输出Please input your telephone number again:RWBUF2,10 ;输入号码 RWSTR1,9 ;回车换行 MOVCL,BUF1[1]CMPCL,BUF2[1] ;比较输入...
试编写一段程序将BX寄存器中的二进制数转变为八进制数,并在屏幕上显示...
MOV CL,1 ROL BX,CL PUSH BX AND BX,1 CALL DISP POP BX MOV DX,5 AG:MOV CL,3 ROL BX,CL PUSH BX AND BX,07 CALL DISP POP BX DEC DX JNZ AG INT 3 DISP:PUSH BX PUSH CX PUSH DX MOV AL,BL ADD AL,'0'MOV AH,2 INT 21H POP DX POP CX POP BX RET ...
汇编:将AX寄存器中16位二进制数分成四组,每组四位,然后把这四组数分别...
;1.把ax寄存器内容分4组每组4位,然后把这4组数分别放在AL,BL,CL,DL中assume cs:code code segment start: mov ax,1234h mov bx,ax mov cx,ax mov dx,ax and al,0fh ;al中是4 mov cl,4 shr bl,cl ;bl中是3 and ch,0fh ;ch中是2,先存在这,最后再给cl mov cl,4 shr dh,cl mov dl,dh ...
汇编语言中,CMP BX,'$',与cmp byte ptr[bx],'$'
前者是将bx寄存器的值与$的ASCii码值(24H)进行比较,是两个16位二进制数的比较。后者是将bx为偏移地址的内存单元中的字节数与24H进行比较,是两个字节数的比较。
【高分】帮忙用汇编语言做一个程序:学生成绩统计
dec cx ;实际输入的数字位数减1,准备把输入的这一串数字转换成二进制数 jcxz @@One_Digit ;若输入的数字只有一位,转去直接保存这个二进制数 mov bx,10@@Mul_Ten: lodsb cbw add ax,bp mul bx mov bp,ax loop @@Mul_Ten@@One_Digit: lodsb cbw add ax,bp@@Save_Ret: pop di cmp @@Type_Data,...