导航:首页 > 编程语言 > 汇编在线编程

汇编在线编程

发布时间:2022-08-29 12:03:13

❶ 汇编语言编程,在线等,急啊!!!!!!!!!!!!!!谢谢

汇编实现计算器……
出题的人是不是脑子进水了,用汇编写这种应用程序就如同用耳挖勺去挖水渠一样,应该让学生学点先进的思想,不要研究这种如奥数一般的旁门左道的东西。

❷ 用汇编语言来编写程序,计算字符长度,根据提示输入字符串;输入任意字符串string,点击Enter结束输入;

data segment
buffer db 40h
numbuf db 0
msg2 db 41h p (0)
data ends

stack segment stack para 'stack' stack
s db 10 p( 0 )
stack ends

code segment
assume cs:code, ds:data, ss:stack

start:
mov ax,data
mov ds,ax

lea dx,buffer
mov ah,0ah
int 21h

xor bx,bx
mov bl,numbuf ;你要的重点在这里
mov msg2[bx],'$'

mov dl,0ah
mov ah,02h
int 21h

lea dx,msg2
mov ah,9
int 21h

mov dl,0ah
mov ah,02h
int 21h

jmp start

mov ah, 4ch
int 21h

code ends
end start

;这个程序应该帮到你想问题,0ah在调用区的第二个单元会记录键盘输入的字符串的字符数

❸ 急求,汇编语言程序设计,在线等待,谢谢!

DATA SEGMENT
VARX DB 34;定义X=34
VARY DB 58;定义Y=58
RUSUM DB ?;定义存放结果Z的RESUM
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV AL,VARX;取出X
ADD AL,VARY;X+Y
MOV CL,3
SHL AL,CL;(X+Y)*8
SUB AL,VARX;(X+Y)*8-X
SHR AL,1;[(X+Y)*8-X]/2
MOV RUSUM,AL;存结果
MOV CH,2;循环两次在屏幕上显示两位十六进制结果
MOV BL,AL
NEXT:
MOV CL,4
ROL AL,CL
AND AL,0FH;取出一位十六进制数
CMP AL,9H
JNA BDY
ADD AL,7;如果十六进制数为A-F,则需要先加7
BDY:
ADD AL,30H;将十六进制数转换为ASCII
MOV DL,AL;在屏幕上显示十六进制数
MOV AH,2
INT 21H
MOV AL,BL
DEC CH
JNZ NEXT
MOV AH,1;等待按键
INT 21H
MOV AH,4CH;结束程序
INT 21H
CODE ENDS
END START

❹ 汇编语言编程,急,在线等

我也是刚学汇编,可能编得有点累赘,请不要见怪
--------------------------------------------
SSEG SEGMENT PARA STACK
DB 64 DUP(?)
SSEG ENDS
DSEG SEGMENT
MESS1 DB 'HAPPY BIRTHDAY TO $'
MESS2 DB 'YOUR BIRTHDAY WILL COME NEXT YEAR.$'
MESS3 DB 'YOUR BIRTHDAY WILL COME IN $'
MESS4 DB ' DAY(S).$'
O_NAM DB 'YOU NAME:$'
O_BIR DB 'BIRTHDAY:$'
I_NAM DB 32
DB ?
DB 32 DUP(?)
I_BIR DB 5
DB ?
DB 5 DUP(?)
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
START: MOV AX,DSEG
MOV DS,AX
LEA DX,O_NAM
MOV AH,9H
INT 21H
LEA DX,I_NAM
MOV AH,0CH
MOV AL,0AH
INT 21H
CALL NEWLINE
MOV AL,I_NAM+1
XOR AH,AH
MOV SI,AX
MOV I_NAM[SI+2],24H
LEA DX,O_BIR
MOV AH,9H
INT 21H
LEA DX,I_BIR
MOV AH,0CH
MOV AL,0AH
INT 21H
CALL NEWLINE
MOV SI,2
CALL XCH
MOV BH,BL
CALL XCH
MOV AH,2AH
INT 21H
CMP BH,DH
JA BIG1
JB SMA
CMP BL,DL
JA BIG2
JB SMA
LEA DX,MESS1
MOV AH,9H
INT 21H
LEA DX,I_NAM
ADD DX,2
MOV AH,9H
INT 21H
JMP OK
BIG1: SUB BH,DH
MOV AL,30
MUL BH
XOR BH,BH
SUB BL,DL
SBB BH,0
ADD AX,BX
XOR DX,DX
MOV BL,10
XOR CX,CX
JMP NEXT1
BIG2: SUB BL,DL
XOR AH,AH
MOV AL,BL
XOR DX,DX
MOV BL,10
XOR CX,CX
NEXT1: CMP AX,10
JB SHOW
DIV BL
MOV DL,AH
PUSH DX
XOR AH,AH
INC CX
JMP NEXT1
SHOW: PUSH AX
LEA DX,MESS3
MOV AH,9H
INT 21H
POP AX
MOV DL,AL
ADD DL,30H
MOV AH,02H
INT 21H
CMP CX,0
JE OK1
NEXT2: POP DX
ADD DL,30H
MOV AH,02H
INT 21H
LOOP NEXT2
OK1: LEA DX,MESS4
MOV AH,9H
INT 21H
JMP OK
SMA: LEA DX,MESS2
MOV AH,9H
INT 21H
OK: MOV AH,4CH
INT 21H
XCH PROC
MOV AL,I_BIR[SI]
SUB AL,30H
MOV BL,10
MUL BL
INC SI
MOV BL,I_BIR[SI]
SUB BL,30H
INC SI
ADD BL,AL
RET
XCH ENDP
NEWLINE PROC
PUSH AX
PUSH DX
MOV DL,0DH
MOV AH,2H
INT 21H
MOV DL,0AH
MOV AH,2H
INT 21H
POP DX
POP AX
RET
NEWLINE ENDP
CSEG ENDS
END START

❺ 急求汇编编写程序实现 z←(x*y)/(Y+1234H),在线等

mov eax,X
mov ebx,Y
imul ebx
add ebx,1234H
idiv ebx
mov Z,eax

❻ 高分悬赏一个汇编语言编程题 在线等 急

data segment
num dw 2 p(?)
ver_1 db 0
data ends
code segment
assume ds:data,cs:code
start:
mov ax,data
mov ds,ax
mov bx,0
mov di,0
newchar:
mov ax,di
mov cx,10d
mul cx
xchg ax,di
add di,ax

mov ah,1
int 21h
sub al,30h
jl newchar
cmp al,9d
jg newchar
cmp al,20h
jz exit
cbw
xchg ax,bx
mov cx,10d
mul cx
xchg ax,bx
add bx,ax
adc di,0
next:inc ver_1
cmp ver_1,9
jna newchar
exit:
mov num,ax
mov num+2,di
mov ah,1
int 21h
mov ah,4ch
int 21h
code ends
end start

❼ 在线等急急急,汇编实现四个两位非压缩BCD数相加

LEA DX,RESULT ; 结果数据区首址 LEA SI,NAME1 ; 结果文件名 MOV CX,N+4 ; 结果字节数 CALL SAVE ; 保存结果到文件 RET START ENDP CODE ENDS END START 就是把首地址传参给dx,题中因为要把结果输出在output1.dat中,而结果被保存在result所指...

❽ 用汇编语言,编写程序输出100-200之间所有的素数,每行输出5个数,在线等,急求!!!!!!!!!!

;用汇编语言,编写程序输出100-200之间所有的素数,每行输出5个数,在线等,急求!!!!!!!!!!

datasegment

n1db20p(0)

NDB0

dataends


codesegment

mainprocfar

assumecs:code,ds:data


start:

PUSHDS

XORAX,AX

PUSHAX

MOVAX,DATA

MOVDS,AX

;

;MOVAX,20000

movax,100;起始数

AGAIN:

cmpax,200;结束数

;cmpax,300

jaexit

MOVBX,2

X1:

CMPBX,AX

JAeEXIT1;YES,DISPIT

PUSHAX

PUSHBX

MOVDX,0

DIVBX

CMPDX,0;YU=0

JEN11;NO

POPBX

POPAX

cmpbx,2;去掉偶数

jaadd2

decbx

add2:

incbx

INCBX

JMPX1

N11:

POPBX

POPAX

JMPN22


EXIT1:;YES,DISPIT


movsi,offsetn1

movdx,0

CALLDIV10

pushax

pushbx

movdx,offsetn1

movah,9

int21h


INCN

MOVAL,N

CMPAL,5;每行显示5个数

JNEDISP_K

MOVAL,0

MOVN,AL

JMPDISP_CR

DISP_K:

MOVAH,2

MOVDL,''

INT21H

JMPNEXT9

DISP_CR:

movah,2

movdl,0dh

int21h

movdl,0ah

int21h

NEXT9:

popbx

popax

N22:

incax

jmpagain

exit:


RET

;INT20H

mainendp

;=====================

;=====================

;将32位16进制数(DX:AX)转换为10进制数子程序

;入口:DX:AX存32位16进制数,SI为存放转换后10进制数的首地址

;出口:在SI中存放转换后10进制数的ASCII码

DIV10PROCNEAR

pushax

PUSHBX;保护现场

PUSHCX

PUSHDI

MOVCX,0;每位10进制数进栈计数器

MOVBX,10D;除数10

RE_DIV:

PUSHAX;低16位进栈

MOVAX,DX;先除高16位

MOVDX,0;高位置0

DIVBX;商在AX中,是下一轮除的高位;余数在DX中,它和已进栈的AX(低16位)组成新的32位数

MOVDI,AX;将下一轮除的高位保存在DI

POPAX;取回先前进栈的低16位

DIVBX;除后,商AX是下一轮的低16位,即(DI:AX)组成新的32位被除数;

;余数DX是一位已转换的10进制数

ADDDX,30H;将其转换成ASCII码

PUSHDX;将其进栈

INCCX;进栈计数器加1

MOVDX,DI;将高位商返回DX

CMPAX,0;判断商是否为0,DX:AX均需为0,实际上就是(DI:AX)这个新组成的32位被除数是否为0

jzdown1;商低位为0

JMPRE_DIV;商低位不为0,继续除10取余

down1:

cmpdx,0

jzdown;商低位(AX)为0,高位(DX)也为0

JMPRE_DIV;否则继续除10取余

DOWN:;当DX和AX均为0时(商为0),转结束除

POP[SI];以CX的值(进栈计数器)依次出栈

INCSI;由于出栈的数仅低8位有效(高位为0),所以SI每次只增1,

;使新出栈的低8位有效值覆盖前一次出栈的高位0

LOOPDOWN

MOVAL,'$'在字符串尾部加结束标志

MOV[SI],AL

POPDI;恢复现场

POPCX

POPBX

popax

RET

DIV10ENDP

;========================

;========================

codeends

endstart

❾ 汇编语言考试四道编程题,在线等

DATASEGMENT

STRDB'!@#$%?><qwertASDFGZXCVB(*$1235790Kf',0
;这是一个包含任意字符,以0结尾的字符串

DATAENDS

CODESEGMENT
ASSUMECS:CODE,DS:DATA
;---------------------------------
DISP:
MOVAH,2
D_LP:
MOVDL,[SI]
CMPDL,0
JZD_END
INT21H
INCSI
JMPD_LP
D_END:
MOVDL,13
INT21H
MOVDL,10
INT21H
RET
;---------------------------------
PROG:

;把以0结尾的字符串中转换成"首字母大写,其余字母小写"

DECSI
FIR:
INCSI
MOVAL,[SI]
CMPAL,0
JZP_END
ANDAL,11011111B
CMPAL,'A'
JBFIR
CMPAL,'Z'
JAFIR
MOV[SI],AL
SEC:
INCSI
MOVAL,[SI]
CMPAL,0
JZP_END
ORAL,20H
CMPAL,'a'
JBSEC
CMPAL,'z'
JASEC
MOV[SI],AL
JMPSEC
P_END:
RET
;---------------------------------
START:
MOVAX,DATA
MOVDS,AX

LEASI,STR;取偏移地址
CALLDISP;显示原字符串

LEASI,STR;取偏移地址
CALLPROG;字符串转换

LEASI,STR;取偏移地址
CALLDISP;显示处理后字符串

MOVAX,4C00H
INT21H
;------------------------------------
CODEENDS
ENDSTART

;====================================

上述程序才符合题目要求。

执行后显示:

c:masm5>mm
!@#$%?><qwertASDFGZXCVB(*$1235790Kf
!@#$%?><Qwertasdfgzxcvb(*$1235790kf


网友采纳答案中,对《包含任意字符,以0结尾》的理解,有偏差。

在任意字符中,就包括《$》。

因此,不能为了使用以$为结束符的9号调用,就把$排除在字符串之外。

❿ 汇编语言编程题,和数组有关

以前写了一半,因太长没写完。网上有现成的答案:

新手求教汇编问题!!!!!!!!!!!!!!在线等之。
http://..com/question/148915126.html?si=1

阅读全文

与汇编在线编程相关的资料

热点内容
安卓手机如何进去有求必应屋 浏览:432
指数除法运算法则底数不同 浏览:894
90压缩干粮09压缩干粮 浏览:515
android线程池框架 浏览:481
手机自带解压能解压哪些文件 浏览:804
linux安装hba驱动 浏览:119
java构造函数new 浏览:668
怎么查家里电器耗电量app 浏览:506
原神一直显示重新连接服务器怎么办 浏览:826
一般用途轴流式压缩机 浏览:926
没学历的怎么学编程 浏览:901
华为的隐藏相册无法加密 浏览:782
联通套餐app怎么设置 浏览:752
关于删除链表的算法描述 浏览:894
标准盘和压缩盘的区别 浏览:47
银行存款验证码JAVA编程 浏览:111
word转pdf软件免费版 浏览:139
公主连结安卓台服怎么下载 浏览:550
注册江苏银行app怎么注册 浏览:800
中兴怎么下载app视频 浏览:679