❶ 用汇编语言编写一段程序
楼主啊,要慷慨一点,15分太低了,难怪都没人回答你。你网络搜一下,这种题几百分的。下面的程序是修改其他地方的:
stack segment stack 'stack'
dw 32 p(?)
stack ends
data segment
BCD1 DB 'Please input number A:$'
BCD2 DB 'Please input number B:$'
BCD3 DB 'The sum of A and B is :$'
N1 DB 7,0,7 DUP(0)
N2 DB 7,0,7 DUP(0)
OBUF DB 9 DUP(0)
data ends
code segment
begin proc far
assume ss:stack, cs:code,ds:data
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
MOV DX,OFFSET BCD1
MOV AH,9
INT 21H
MOV DX,OFFSET N1
MOV AH,10
INT 21H
MOV DL,0AH
MOV AH,2
INT 21H
MOV DX,OFFSET BCD2
MOV AH,9
INT 21H
MOV DX,OFFSET N2
MOV AH,10
INT 21H
MOV DL,0AH
MOV AH,2
INT 21H
MOV DX,OFFSET BCD3
MOV AH,9
INT 21H
MOV DL,0AH
MOV AH,2
INT 21H
XOR AX,AX
MOV BL,N1+1
MOV BH,0
MOV CX,BX
MOV OBUF[BX+1],'$'
AG: MOV AL,N1[BX+1]
ADC AL,N2[BX+1]
AAA
PUSHF
ADD AL,30H
MOV OBUF[BX],AL
DEC BX
POPF
LOOP AG
adc obuf,0
add obuf,30h
MOV DX,OFFSET OBUF
MOV AH,9
INT 21H
ret
begin endp
code ends
end begin
最近在复习汇编,顺便找些练练,上面的答案确实是6位10进制加法,也有进位,但是,它要求位数必须相等,这样就不太好了,多加几十行代码可以改好,让它实现任意位数的加法,对两个加数的位数没有限制,代码我就不贴了,你自己改吧。
❷ 用汇编语言编一个程序,要求如下:
用十进制形式显示字符位置的代码如下:
DSEG SEGMENT
msgi db "please input a string:$";显示信息,提示输入一串字符
buf db 50,0
table db 50 p (?);输入字符串缓冲区
msgd db 0dh,0ah,"the location is:$";显示信息,提示0所在位置
DSEG ENDS
CSEG SEGMENT
assume cs:CSEG, ds:DSEG,es:DSEG
MAIN PROC FAR ;主程序入口
mov ax, dseg
mov ds, ax
mov es,ax
lea dx,msgi;显示信息,提示输入一串字符
mov ah,9
int 21h
lea dx,buf;输入字符串
mov ah,0ah
int 21h
lea si,buf
mov cl,[si+1];输入字符实际个数存入CX中
mov ch,0
lea di,table;输入字符起始地址存入DI
mov al,30h;要查找的字符0送AL
cld;置方向标志为地址增量
repnz scasb
jnz tj
lea dx,msgd;显示信息,提示0所在位置
mov ah,9
int 21h
sub di,offset table
mov bx,di
call disp;用十进制形式显示位置
tj:
mov ah,1;按任意键退出
int 21h
mov ax, 4c00h ;程序结束,返回到操作系统系统
int 21h
MAIN ENDP
disp proc near
mov cx,10000d
call dec_div
mov cx,1000d
call dec_div
mov cx,100d
call dec_div
mov cx,10d
call dec_div
mov cx,1d
call dec_div
ret
dec_div proc near
mov ax,bx
mov dx,0
div cx
mov bx,dx
mov dl,al
add dl,30h
mov ah,2
int 21h
ret
dec_div endp
disp endp
CSEG ENDS
END MAIN
❸ 简述用汇编语言进行程序设计的步骤。
汇编语言程序设计步骤:
1、
分析问题,抽象出描述问题的数据模型
2、
确定问题的算法思想
3、
画出流程图或结构图
4、
分配存储器和工作单元(寄存器)
5、
逐条编写程序
6、
静态检查,上机调试
❹ 在DOS系统下怎么用汇编语言编写程序
用DOS的EDIT可以写源代码,然后保存,汇编,连接,即可生成汇编程序.
具体方法是:
进入DOS,输入EDIT,FILE,NEW,编辑汇编源代码,然后保存(注意扩展名为 .asm),在通过MASM或者TASM即可生成目标文件(.obj),再通过LINK即可生成可执行文件(.exe).
❺ notepad++ 汇编语言
notepad++可以通过配置,完成 masm 汇编等工作,你需要下载一个 NppExec 的插件,然后,再使用这个插件编写相关的脚本,就可以了。
具体的详细做法,请参阅资料:
http://www.csdn123.com/html/itweb/20130828/87539_87543_87540.htm
❻ 用汇编语言编写一个简单程序
1.计算U=(X+(Y*Z-100))/W
其中:X,Y,Z,W均为十六位有符号数。
程序如下:
DATA
SEGMENT
X
DW
10
;16位变量
Y
DW
20
Z
DW
30
W
DW
40
U
DW
?,?
DATA
ENDS
CODE
SEGMENT
ASSUME
CS:CODE,DS:DATA
START:
MOV
AX,DATA
MOV
DS,AX
MOV
AX,Y
IMUL
Z
;计算Y*Z,内容放在DX,AX中
MOV
CX,AX
MOV
BX,DX
SUB
CX,100
;计算Y*Z-100
SBB
BX,
0
MOV
AX,X
CWD
;将X符号扩展,形成DX:AX中的双字
ADD
AX,CX
;计算X+(Y*Z-100),内容放在DX,AX中
ADC
DX,BX
IDIV
W
;计算(X+(Y*Z-100))/W
MOV
U,AX
MOV
U+2,DX
MOV
AH,4CH
INT
21H
CODE
ENDS
END
START
❼ 如何用汇编语言写个小程序“HELLO WORD!”
; Program Name: Hello.ASM
Hello SEGMENT ; 以“Hello”命名段
ASSUME CS:Hello,DS:Hello ;代码段和数据段在同一个段空间
ORG 100H ;指令从100H开始
Start: ;程序运行起始位置
MOV AX,3 ; 设置视频显示方式为文本显示,80x25,16色
INT 10H ; 调用视频中断
LEA DX,Prompt_Str ; 装入字符串地址
MOV AH,9 ; 控制台输出字符串
INT 21H ; dos功能调用
MOV AX,4C00H ; 结束程序
INT 21H ; dos功能调用
Prompt_Str DB 'Hello World!$' ; 要显示的字符串一定要以符号$作为结束符号
Hello ENDS ;段结束
END Start ;源程序代码结束
❽ 是不是所有的汇编语言都能写游戏脚本比如说用c语言或者java写梦幻西游的押镖跑商脚本之所以用这
c 和 汇编语言 是相当 底层的语言 了,不可能来写 游戏脚本,java 一般写服务端, 游戏脚本 一般是 用专门的脚本语言 比如lua javascript ,魔兽世界 插件脚本全是 lua~ 语法清晰 好懂~
❾ 汇编语言程序编程
我知道:
1)从0200H单元开始有100个数,编一个程序检查这些数,正数保持不变,负数取补后送回,要求程序框图和完整程序及每条指令的解释。
(直接从0398HI单取消,然后进入POUJN脚本,改485这个值就可以了)
2)已知数组A和数组B分别包含50和20个互不相等的带符号数(16位)编程将在A中但不在B中出现的数存入数组C中。要求同上。
(直接把A用C0998H这个值改为20和50之间)
3)在首地址为TABLE的数组中存放着200个16位带符号数,以补码表示,找出最大最小数,出现次数最多数及该数出现的次数,依次存放于以RESULT开始的单元内。要求同上。
(把RESUL用POUJN脚本改成TABLE,然后存取,不能出现2个偶数学,最后把00100这个函数给删除了)
以上就基本是这样了,看不懂没关系,关键是互相学习。
❿ 简述用汇编语言进行程序设计的步骤。
汇编语言程序设计步骤:
(1)分析问题:已知条件、要解决的问题、功能/性能要求等。
(2)建立数学模型:把问题数学化、公式化,便于计算机处理。
(3)确定算法:简单、速度快、精度高、代码量小、编程容易。
(4)绘制程序流程图:用箭头、框图、菱形图等表示程序结构。
(5)内存空间分配:为程序或数据分配内存空间。
(6)编制程序与静态检查:程序结构层次简单、清楚、易懂。
(7)程序调试:利用调试软件DEBUG进行调试。