恳求大佬帮帮忙,用8086汇编实现下列C语言代码,要求使用移位指令实现乘法和除法运算
请汇编语言厉害的朋友帮帮忙(8088/8086指令)-高悬赏
data segment
buf dw 3 dup(?)
crlf db 13,10,'$';回车换行
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
lea si,buf
mov cx,3
m1:
mov ah,01h
int 21h
sub al,30h
mov ah,0
mov [si],ax
add si,2
loop m1
mov dx,offset crlf
mov ah,09h
int 21h
;------------------
;冒泡排序核心代码
mov cx,3
dec cx
m2:
mov di,cx
mov bx,0
m3:
mov ax,buf[bx]
cmp buf[bx+2],ax
jge cotinue
xchg ax,buf[bx+2]
mov buf[bx],ax
cotinue:
add bx,2
loop m3
mov cx,di
loop m2
;-------------------
lea si,buf
mov cx,3
m4: mov dl,[si]
add dl,30h
mov ah,02h
int 21h
add si,2
loop m4
mov ah,4ch
int 21h
code ends
end start
汇编题,求解大神,急!!
用一条语句实现从子程序返回调用程序 (RET);
用一条语句(CLI)实现不允许中断即关中断;
写出用TEST指令测试DL寄存器的第3位和第6位(TEST DL, 0100 1000B);
4.源变址寄存器SI和目的变址寄存器DI分别与(BX)和(BP)寄存器配合使用;
5.欲将数据段中首址为DEST,共50个字节单元的存储区初始化为0,
试在下面程序段的空白处填上适当的指令或操作数,以实现上述功能。
LEA DI, DEST
CLD
MOV CX,__50___
MOV AL,__0___
REP __STOSB___
6.已知
(SI)=2000H,
(BX)=1000H,
(DS)=3000H,
(33000H)=1598H,
(33002H)=1000H,
(CS)=3456H.
求下列指令执行完后IP,CS寄存器的内容。
JMP WORD PTR [BX + SI];
(IP)=(1598)H,(CS)=(1000)H
用汇编语言指令实现以下操作:
1.LEA BX,BUF
MOV SI,0
ADD AL,[BX][SI]
2.ADD [BX+100H],DX
3.ADD [0500H],3ABCH
4.MOV CX,2
LEA SI,BUF1
LEA BX,BUF2
LEA DI,BUF3
NEXT:
LODSB
ADD AL,[BX]
STOSB
INC BX
LOOP NEXT
求C语言编程!!!问题如下:
b=a%10; //个位数
c=a%100/10;//十位数
d=a%1000/100;//百位数
e=a%10000/1000;//千位数
f=a/10000;//万位数