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

汇编在线编程

发布时间: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

阅读全文

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

热点内容
安卓11小游戏怎么玩法 浏览:186
gif有损压缩 浏览:929
windows下安装linux命令操作 浏览:840
米家app怎么设置进门亮灯 浏览:650
任我行服务器为什么会影响截图 浏览:294
安卓留言板怎么删除 浏览:16
做大厂程序员有什么感受 浏览:240
php文件只读 浏览:774
红色警戒3命令修改器112 浏览:433
安卓税收和苹果税是什么意思 浏览:446
快速排序算法的时间复杂度分析 浏览:111
大龄程序员困境 浏览:269
手机号忘了怎么登录农行app 浏览:573
商品信息管理系统php 浏览:9
效果器app怎么无线连接 浏览:404
clinux线程锁 浏览:851
怎么看新手机安卓充电器是不是原装 浏览:294
32单片机f4点灯源码 浏览:223
车载安卓导航开发者选项怎么开启 浏览:694
学生程序员兼职 浏览:360