汇编语言指令运算符有sub(汇编指令SUB与DEC的区别在哪)

本文目录
- 汇编指令SUB与DEC的区别在哪
- 汇编复习资料
- 用8086的汇编语言做一个完成两个十进制2位数之间的加减乘除运算的程序
- 汇编语言里操作数是什么啊 尽量详细多举例子
- 怎么使用算术运算指令实现两个寄存器内容的交换汇编语言
- 汇编语言常用指令
- 取补运算汇编
- 汇编语言中各种运算符的英文全称
- 汇编语言把结果输出屏幕上,程序怎么编
- 汇编语言复习题求答案
汇编指令SUB与DEC的区别在哪
dec是自减运算符,与C语言的i--差不多
dec esp的速度比sub esp,1快一点DEC指令不影响CF,SUB要影响的.其他的就减一来说是一样的.
汇编复习资料
1、6种常用的寻址方式:寄存器寻址方式、立即数寻址方式、直接寻址方式、寄存器间接寻址方式、寄存器相对寻址方式、基址变址寻址方式。
2、指令
(1) 传送类:
数据传送指令MOV
交换指令XCHG
装入有效地址指令LEA
注意,这三条指令对状态标志位无影响。
(2) 算术运算类:
加法指令ADD 带进位加法指令ADC 加1指令INC 减法指令SUB
带借位减法指令SBB 减1指令DEC
求负数补码指令NEG 比较指令CMP
无符号数乘法指令MUL(/IMUL)
无符号数除法指令DIV
(3) 位操作类:
逻辑与指令AND、逻辑或指令OR、逻辑异或指令XOR、逻辑非指令NOT、测试指令TEST;算术左移SAL、算术右移SAR、逻辑左移SHL、逻辑右移SHR、循环左移ROL、循环右移ROR、带进位循环左移RCL、带进位循环右移RCR等。
注意,要掌握逻辑运算指令和测试指令对状态标志位的影响。
(4) 标志位操作指令:
清除进位标志CLC
3、汇编语言中的常用运算符
(1) 算术运算符:+、-、〔 〕(下标运算)
(2) 数值返回运算符:SEG(段起始地址)、OFFSET(偏移地址)、TYPE(类型)、SIZE(字节数)、LENGTH(元素个数)。
(3) 属性运算符:PTR(WORD PTR,即强制类型转换)
4、常用伪指令
(1) 符号定义伪指令:等值伪指令EQU、等号伪指令"="。
(2) 数据定义伪指令:DB、DW、DD
注意掌握如何使用数据定义伪指令来定义变量,以及为变量赋初值的表达式的几种形式:数值表达式、?表达式、字符串表达式、带DUP表达式。
(3) 段结构伪指令
要求掌握:段定义伪指令SEGMENT/ENDS、段寻址伪指令ASSUME、END伪指令在程序中的使用;汇编语言源程序的分段结构和段寄存器的装入。
(4) 定位伪指令ORG与$:在数据段中的使用。
CCCBB
DAA
PUSH 指令相对的类型是【字】
1、下列符合汇编语言语法要求的语句是:
C.TEST AL,10H,OR 45H
2、若执行LOOP AGAIN指令前,CX的值为0,则循环体重复执行的次数为(65536(即16^4))
3、已经指令IRET执行前,SP=20H,该指令执行后,SP的值应为(1AH)
4、当执行完下列指令序列后,标志位OF和CF的值分别为(0,1)
MOV AH,65H
SUB AH,73H
5、已知AX=0305H,则ADD执行后,AX的值为(0023H)
ADD:把AX中的非压缩BCD数调整为二进制数
即:AL《-(AH)*10+(AL) ;(AH)《-00
此题:03*10+05=35D=0023H
6、下列各组语句符合汇编语言语法要求的是()
D.DATA DW ’AB’
MOV AL,BYTE PTR DATA+2
7、若AL的第7位状态与BL的第7位状态相同(只有异或符合),则转移到标号OK去执行,能实现此功能的程序段是()
A.XOR AL,BL
JNS OK
8、在两个8259A级联的中断系统在中,从8259A链接在主8259A的IR5上,则主8259A和从8259A的ICW3应分别设置为()
A.20H,05H
选择题
1.下列指令正确的是 ()
D. mov DS, AX
2.设 AH=79H, 当执行指令 ADD AH,98H后,标志位CF 和OF的值分别为 ()
C 1, 0(OF是看加数与和的符号是否相同,是0,否1)
3.下列指令正确的是 (A)
A.CALL FAR PTR AX B. CALL FAR PTR
B.CALL FAR PTR
4.JMP BX 的指令寻址方式是 ()
A. 寄存器寻址
5.POPF 的寻址方式是()
A. SP 间接寻址 B. 堆栈寻址
C. 寄存器寻址 D. 寄存器间接寻址
6.在 DEBUG 下, u命令的作用是 ()
A. 反汇编命令 B. 汇编命令
C. 查看数据命令 D. 写入数据命令
7.8086内存最大寻址空间为 ()
A. 1 MB B. 64MB C.128MB D.256MB
8.伪指令OFFSET 表达的含义是 ()
A. 端地址值 B.偏移地址值
C. 物理地址值 D.操作数
9.若 X ,Y 为无符号数 当 X》Y 时转移的条件转移指()
A. JG B. JA C.JB D.JC
10.设有数据定义 X2 DW 10DUP(0,1,2), 则有指令
A. MOV AX, 10 B. MOV AX, 20
C. MOV AX, 30 D. MOV AX, 40
二. 判断下列的指令是正确还是错误,错误的说明原因
1.MOV 1000H, AX
2.MUL 34H
3.SAR AX5
4.MOV CS,DS
5.MOV
三. 简答题
1.设有数据段定义如下, 请画出内存结构图
Datr segment
Array dw 3,$+2,5,$+6,260
Datr ends
2.简述汇编语言上机过程
四.
1.编写人机对话程序要求程序执行后在显示器上输出what is your name?回车换行后再输出你的名字后结束。
2.编写程序,找出一个字母数组中的最小数,存到min单元。
3.设ax和 bx 中存放的是无符号数,计算|ax-bx|,结果送数据段RESULT字变量中。
问题补充:正确率高的话,我再追加10分
提问者: wxfily0607 - 经理 四级 最佳答案
一
1.D 2.C 3.A 4.D 5.D 6._ 7.A 8.B 9.B 10._
二
1. 错误 立即数1000h 不能作为目的操作数
2. 正确
3. 错误 算术右移一位 sar ax,1 多位要使用cx 即把要移动的位数 寄存在cx中
4. 错误 不允许段寄存器之间直接赋值
5. 错误 不允许主存间直接交换数据
三 没办法给你画啊
剩下的你在想办法吧 希望对你有帮助
用8086的汇编语言做一个完成两个十进制2位数之间的加减乘除运算的程序
数据段里可以设置三个变量分别存放两个十进制数和运算符,然后程序读入你输入的式子,把对应的数据存起来,转换好,因为控制台输入的式子会转化成ascii码的形式。然后运算完得到结果再转化一次成ascii码的值输出
汇编语言里操作数是什么啊 尽量详细多举例子
操作数是运算符作用于的实体,是表达式中的一个组成部分,它规定了指令中进行数字运算的量 。
操作数指出指令执行的操作所需要数据的来源。操作数是汇编语言指令的一个字段。例如:Mov AX 5678H 操作数(AX 5678H)。在操作数这个字段中可以放操作数本身,也可以放操作地址,还可以放操作地址的计算方法。
通常一条指令均包含操作符和操作数。例如:在比较指令中操作符指定计算机做比较操作,操作数则指定进行比较的两个数值。
扩展资料:
操作数的形式
立即操作数:指令要操作的数据以常量的形式出现在指令中,称为立即数,它只能作为源操作数。
寄存器操作数:指令要操作的数据存放在CPU中的寄存器里,指令中给出寄存器名即可。
内存操作数:指令要操作的数据存放在内存某些单元中,指令中给出内存单元物理地址(实际上指令只给出了偏移地址,段地址采用隐含方式给出,也可以使用跨段方式指出当前段地址)。
怎么使用算术运算指令实现两个寄存器内容的交换汇编语言
假设现在有AL = 10H,BL = 12H
ADD AL,BL ;AL = 22H
MOV CL,AL ;CL = 22H
SUB CL,BL ;CL = 10H
MOV BL,CL ;BL = 10H
SUB AL,BL ;AL = 12H
执行上面的5句代码后
AL = 12H, BL = 10H
还有其他方法可以交换,例如用一个中间变量实现交换,用异或运算符实现交换,
最简单是使用XCHG交换
PS:如果不明白的地方。
汇编语言常用指令
单片机汇编语言汇编错误原因分析
汇编语言的指令格式,目前有两种不同的标准:Windows下的汇编语言基本上都遵循Intel风格的语法,比如:MASM、NASM;而Unix/Linux下的汇编语言基本上都遵循AT&T风格的语法;
一、汇编语言语句的通用格式
;注释
汇编语言的指令码的操作数的个数可以是0、1、2个;当操作数的个数为2的时候,语句还有两种不同的格式:
Windows下Intel风格的汇编语言语句格式为:
指令码 目的操作数DST,源操作数SRC ;注释
Unix/Linux下AT&T风格的汇编语言语句格式为:
指令码 源操作数SRC,目的操作数DST ;注释
例如: CYCLE: ADD AX,02H ;(AX)汇编语言语句格式中的"名称"并不是所有语句都必需的,但是,如果语句中带有"名称",那么,大多数情况下,"名称"都表示的是内存中某一存储单元的地址,也就是"名称"后面各项在内存中存放的第一个存储单元的地址(包括该"名称"所在段的段地址和段内偏移地址);比如上面的指令中,CYCLE就是该语句的名称,CYCLE表示的就是其后面的机器指令码在内存中存放的第一个地址;"名称"与指令码之间的分隔符可以是冒号":",也可以是空格字符" ";当以冒号分割时,该名称代表的是一个标号;当以空格分割时,该名称代表的可能是标号,也可能是变量;当指令码有多个操作数的时候,相邻两个操作数之间要用逗号","分割;指令码与操作数之间必须以空格分割;汇编语言语句的注释必须以分号";"开头;
二、组成语句的元素
1、常数:
汇编语言中的常数有整数、字符串;二进制、八进制、十进制、十六进制;汇编语言采用不同的后缀区分:
B:二进制数; O:八进制数; D:十进制数; H:十六进制数;
当一个数值后面没有后缀的时候,默认为十进制数;
字符串常数是用一对单引号(’’)括起来的一串字符;
2、表达式:
由操作数和操作符组成;
算数运算操作符: +、-、*、/、MOD,等;取模运算MOD是取两数相除的余数;
逻辑运算操作符: AND(逻辑与)、OR(逻辑或)、NOT(逻辑非)、XOR(逻辑异或);
注意:逻辑运算符同时又可以是逻辑运算指令的指令码,只有当它们出现在指令的操作数部分时,才是操作符;例如:
ADD AL,0CH ADD 0FH ;第一个ADD是指令码,第二个ADD是操作符;
关系运算操作符: EQ(相等)、NE(不等)、LT(小于)、GT(大于)、LE(小于等于)、GE(大于等于);
汇编语言中的表达式不能单独构成语句,只能是语句的组成部分;
注意:语句中表达式的求值不是在语句执行时完成的,而是在对源程序进行汇编链接时完成的.所以,语句中各表达式的值必须在汇编或链接时就是确定的,也就是说,表达式中各标识符的值在汇编或链接时就应该是确定的;
3、标号:
标号是由标识符表示的指令的名称,用于指示对应指令的位置(地址);
标号具有三个属性:段地址、偏移地址和类型;
标号的段地址和偏移地址属性是指该标号所对应的指令所在段的段地址和段内偏移地址;
标号的类型有两种:NEAR和FAR;标号定义成NEAR类型,表示该标号在段内使用,而定义成FAR类型则表示该标号可以在段间使用;
标号的定义:在指令码前面加上标识符和冒号":";
例如:START: PUSH DS
这条语句里面,START就是我们定义的标号,它代表指令PUSH的地址,所以,标号可以作为程序转移指令的操作数(即:要转向的地址);标号还可以采用伪指令来定义;例如:用LABEL伪指令和过程定义伪指令来定义;
4、变量:
与高级语言一样,并不是所有的操作数都是常数,汇编语言也有自己的变量,变量的值在程序运行期间是可以被改变的;
A.定义变量:汇编语言中,变量的定义是通过伪指令来完成的;定义变量的伪指令格式如下:
变量名 DB 表达式 ;定义字节变量,又称单字节变量(1个连续字节),DB--》BYTE
变量名 DW 表达式 ;定义字变量,又称双字节变量(2个连续字节),DW--》WORD
变量名 DD 表达式 ;定义双字变量,又称四字节变量(4个连续字节),DD--》DWORD
变量名 DF 表达式 ;定义六字节变量,又称六字节变量(6个连续字节),DF--》FWORD
变量名 DQ 表达式 ;定义长字变量,又称八字节变量(8个连续字节),DQ--》QWORD
变量名 DT 表达式 ;定义十字节变量(10个连续字节),DT--》TBYTE;
其中,变量名是一个合法的标识符,变量名后面不能加冒号":",只能用空格;变量名不是必要的,可有可无;变量的类型由关键字DB、DW、DD、DQ、DT来定义;
变量定义语句中的"表达式"是用于对变量进行初始化的,可有一下几种情况:
(1).一个或多个常数或表达式;当为多个常数或表达式时,期间要用逗号隔开;如DATA1--DATA4;
(2).带单引号的字符串;
对于字节型(DB)变量,每个变量的大小为1个字节,每个变量的值不能超过1个字符,每个字节内存入一个字符的ASCII码值,整个字符串可以在同一对单引号内给出,这相当于是定义了一个字符数组,如DATA5;
对于字类型(DW)变量,每个变量的大小为2个字节,每个变量的值不能超过2个字符,若为2个字符时,同样遵循高位存入高字节,低位存入低字节的规则;若为1个字符,则该字符的ASCII码值存入到低字节,高字节为00,如DATA6;
对于双字类型(DD)变量,每个变量的大小为4个字节,每个变量的值不能超过2个字符,若为2个字符,同样遵循高位存入高字节,低位存入低字节的规则;但是2个字符的值被存入到双字变量的最低2个字节中,1个字符的值被存入到双字变量的最低1个字节中;
对于长字类型(DQ)变量,每个变量的大小为8个字节,每个变量的值不能超过2个字符,若为2个字符,同样遵循高位存入高字节,低位存入低字节的规则;但是2个字符的值被存入到长字变量的最低2个字节中,1个字符的值被存入到长字变量的最低1个字节中;
(3).一个问号"?",表示该变量的值不确定,即:该变量所表示的内存单元中的内容是不确定的,或者说是,当表达式为问号时,变量所对应的内存区中并没有存入新的值,而只是预留出了相应的存储空间;如DATA7、DATA8
(4).重复方式;此时的格式为: 重复次数 DUP(表达式);重复方式指出表达式的值可以重复地存储到变量对应的内存区中,重复的次数由伪指令给出,相当于定义数组;如DATA9、DATA10
定义变量的例子:
DATA1 DB 20H ;1字节变量
DATA2 DW 0204H,1000H ;2字节变量
DATA3 DB (-1*3),(15/3) ;1字节变量
DATA4 DD 123456H ;4字节变量
DATA5 DB ’0123’ ;字符串变量,相当于一个字符数组
DATA6 DW ’AB’,’C’,’D’ ;字符串变量,相当于一个字符串数组;
DATA7 DB ? ;1字节变量,未初始化
DATA8 DD ? ;4字节变量,未初始化
DATA9 DB 5 DUP(0) ;1字节变量,用5个0初始化,相当于是一个具有5个DB型元素的数组
DATA10 DW 3 DUP(?) ;2字节变量,未初始化,相当于是一个具有3个DW型元素的数组
变量定义语句中伪指令的功能是在变量名所对应的地址开始的内存区依次存入表达式中的各项值,表达式中的每项值所占用内存字节数与变量的类型对应;
总结:一个变量的变量名实际上就代表了该变量所对应的内存区在内存段中的有效地址(偏移地址);高地址是指地址值相对较大,低地址是指地址值相对较小,高地址与低地址是相对而言的;
5、变量的属性:
(1).属性介绍
一个变量具有一下属性:
A.段地址(SEG):变量所在段的段地址;
B.偏移地址(OFFSET):变量所在段内的偏移地址;
C.类型(TYPE):变量的类型定义了每个变量所占用的内存字节数,对于DB、DW、DD、DQ、DT类型定义的变量所占用的内存字节数分别是1、2、4、8、10;通常又将DB、DW、DD类型所定义的变量分别成为BYTE类型、WORD类型、DWORD类型变量;
常用标识符的类型值列表:
标识符种类 字节变量 字变量 双字变量 近标号NEAR 远标号FAR
TYPE的值 1 2 4 -1 -2
D.长度(LENGTH):变量定义时,一个变量名所定义的变量个数;在含有DUP操作符的变量定义中,变量名所定义的变量个数为定义格式中的重复次数;在其它各种变量定义中,每个变量名所定义的变量个数均为1个;
E.大小(SIZE):变量定义语句中,分配给同一个变量名的所有变量的总的字节数,其值为该变量的类型与长度的成绩;
其中,段地址、偏移地址和类型属性是变量的主属性,而长度和大小属性是变量的辅助属性;
(2).属性操作符:
操作符 表达式 含义
SEG SEG 变量名或标号 取出变量名或标号所在段的段地址
OFFSET OFFSET 变量名或标号 取出变量名或标号所在段内的偏移地址
TYPE TYPE 变量名或标号 取出变量名或标号的类型(变量所占用的字节数)
LENGTH LENGTH 变量名 取出变量的长度
SIZE SIZE 变量名 取出变量的大小
这些操作符不能单独构成语句,只能作为表达式的组成部分,并且表达式的求值也是在汇编过程中完成的;
6.强制类型转换操作符PTR
格式:数据类型 PTR 地址表达式
格式中的"数据类型"可以是BYTE、WORD、DWORD、NEAR、FAR;前三种类型是变量的类型,后两种类型是标号的类型;格式中的表达式可以是变量、标号、其它地址表达式;
PTR操作符的功能是用来重新定义已定义的变量或标号的类型,其作用域只在当前语句中; 例如:
DATA1 DW 02H
MOV BYTE PTR DATA1,AL
这条指令中,是把DATA1的类型转换为BYTE类型,然后把AL中的内容存放到DATA1的最低一个字节中;作用域只在这条MOV语句中,过了这条语句,DATA1仍然是DW类型,即:DATA1原来的类型并没有被修改;
取补运算汇编
求补运算是种运算,这种运算是由补码的转换过程升级而来。有了补码,为什么还要提出求补运算这种新的运算?要理解求补运算的提出原因,还要从补码说起。求补运算的运算法则:将一个数(包括正数和负数)所有二进制位(包括符号位和数值位)取反,然后在最低位加上1。求补运算的适用范围:将减法运算转换为加法运算,而且只能进行这类的运算转换。求补运算的触发条件:遇到主动给定的减法运算符。比如遇到汇编语言中的SUB,SBB指令。触发条件必须人为给出,毕竟计算机只是机器,它只做你编程安排好的事,不可能做仅仅在你心中所想的事。求补运算的转换过程:遇到减法运算符,马上将减法运算符右边数据转换成其补码形式,然后将减法运算符左边的数据加上前面所得的补码形式。例如 3-(2*1) 3-2 00000011(-)00000010 00000011(+)11111110
结果为100000001,最高位第8位自动丢弃变成00000001 ,(-)这里是运算符不再当成数的符号,这是由指令中直接给出的mov
ax,3 mov bx,2 sub ax,bx。例如 5-(-9/3) 5-(-3) 00000101(-)11111101 00000101(+)00000011结果为00001000十进制的8。求补运算的正确性是如何得到保障的:将运算符当成负号处理了。A-(B)变为A+(-B),问题是如何用B表示-B,而补码编码刚好能正确地实现这种表达方式。求补运算的正确性是由补码码制的正确性来保障的。希望对你有帮助,望采纳
汇编语言中各种运算符的英文全称
1。条件码标志位
OF(overflow flag)溢出标志
SF(sign flag)符号标志
ZF(zero flag)零标志
CF(carry flag)进位标志
AF(auxiliary carry flag)辅助进位标志
PF(parity flag)奇偶标志
2。控制标志位
DF(direction flag)方向标志
3。系统标志位
TF(trap flag) 陷阱标志
IF(interrupt flag) 中断标志
IOPL(I/O Privilege Level)I/O特权级
NT(Nested Task)嵌套任务标志
RF(Resume Flag)重新启动标志
VM(Virtual 8086 Mode)虚拟8086模式位
AC(Alignment Check Mode)对准检查方式位
VIF(Virtual Interrupt Flag)虚拟中断标志
VIP(Virtual Interrupt Pending Flag)虚拟中断未决标志
ID(Identification Flag) 标识标志
汇编语言把结果输出屏幕上,程序怎么编
我写了一个简易(0~255)的计算器希望可以帮助你(输入格式为a运算符b=比如你想计算5乘6则应输入5*6=)
记住把东西输到屏幕上都是通过输他的asc码int 21h的02号功能就能实现
DATAS SEGMENT
x db 20 dup(?)
y db ’chu cuo le’,’$’
DATAS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS
START:
MOV AX,DATAS
MOV DS,AX
LEA SI,X
A: MOV AH,01H
INT 21H
CMP AL,30H
JB B
CMP AL,3AH
JNB F
SUB AL,30H
MOV CH,AL
MOV AL,BL
MOV BL,0AH
MUL BL
ADD AL,CH
MOV BL,AL
JMP A
B: CMP AL,2BH
JNZ K
MOV X,BL
INC SI
MOV CL,0H
AND BL,0
JMP A
K: CMP AL,2DH
JNZ D
MOV X,BL
INC SI
MOV CL,01H
AND BL,0
JMP A
D: CMP AL,2AH
JNZ E
MOV X,BL
INC SI
MOV CL,02H
AND BL,0
JMP A
E: CMP AL,2FH
JNZ T
MOV X,BL
INC SI
MOV CL,03H
AND BL,0
JMP A
F: MOV ,BL
CMP AL,3DH
JNZ T
LEA SI,X
MOV AL,X
INC SI
MOV BL,X
CMP CL,0
JNZ G
ADD AL,BL
JMP J
G: CMP CL,01H
JNZ H
SUB AL,BL
JMP J
H: CMP CL,02H
JNZ I
AND AH,0
MUL BL
JMP J
I: AND AH,0
CMP CL,03H
DIV BL
J: AND AH,0
CMP AL,100
JB ER
MOV BL,100
DIV BL
MOV CL,AH
ADD AL,30H
MOV DL,AL
MOV AH,02H
INT 21H
MOV AL,CL
ER: CMP AL,10
JB YI
MOV BL,10
AND AH,0
DIV BL
ADD AL,30H
MOV DL,AL
MOV CL,AH
MOV AH,02H
INT 21H
MOV AL,CL
YI: ADD AL,30H
MOV DL,AL
MOV AH,02H
INT 21H
JMP L
T: LEA DX,Y
MOV AH,09H
INT 21H
L: MOV AH,01H
INT 21H
MOV AH,4CH
INT 21H
CODES ENDS
END START
汇编语言复习题求答案
主累加器。
运算结果低8位中1的个数
立即数
10000
段属性、偏移量属性、类型属性
EXTRN
位
初始化、循环体部分、控制部分
10000001
-120
编译程序
BP
0
64K
BX、BP、SI、DI
CL
MACRO、ENDM
逢二进一
SS
STD
简答题
1-2) SUB AX,BX
3-5) ADD DL,
6) MOV CL,5
SHL AX,CL
7-8) SBB AX,0520H
9-10)MOV AX,SEG TABLE
11) AND DI,0FFFFH
12) OUT 61H,AL
13) XHG SI,DI
设相关寄存器和存储区域如下图所示,写出以下各指令执行后AX的内容。
图呢?
下列每组指令中的两条指令有否区别?若没有区别,请说明它们的功能;若有区别,请说出它们的不同点。
1)有区别,计算偏移地址的时间不同,offset是运算符,在汇编时计算;lea是指令,在生成可执行文件并运行时计算。
2) 有区别,sub是减法指令,完成dx-cx并把结果存放到dx中;cmp是比较指令,完成dx-cx,影响标志位但是不保存结果。
指出下列指令中的错误
类型不匹配
双操作数指令不允许两个操作数都是存储器操作数
设有如下的程序段:
上述程序段运行后RES中的值=0
程序段如下:
试回答:如从键盘输入字符‘4’,程序段有什么结果?显示“D”
编程题
1.
cseg segment
assume cs:cseg
begin:
mov ah,1
int 21h
and al,0dfH
mov dl,al
mov ah,2
int 21h
mov ah,4ch
int 21h
cseg ends
end begin
2.
dseg segment
num db 20 dup(33h,34h,35h,36h)
dseg ends
cseg segment
assume cs:cseg,ds:dseg
begin:
mov ax,dseg
mov ds,ax
lea bx,num
mov cx,80
next:
mov dl,
mov ah,2
int 21h
inc bx
loop next
mov ah,4ch
int 21h
cseg ends
end begin

更多文章:
native在java中的用法(native的Java关键字)
2026年8月22日 20:30
正则匹配数字字符串开头(js 正则表达式获取字符串开头结尾的数字)
2025年7月24日 05:00
businessman怎么念(businessman怎么读什么意思)
2026年8月29日 10:15
candidate的由来(什么是bug啊还有什么是beta)
2026年5月29日 05:45
不会java可以学javaweb吗(web 开发者需要会java吗)
2025年11月25日 10:00
competition怎么说(competition翻译一下)
2026年3月31日 22:15
winxp如何用汇编(如果在windows下没有任何现成编译器,怎样用机器语言(或汇编语言) 编写程序)
2025年9月14日 09:00
java编程规范单行(JAVA中单行注释和多行注释是什么意思我没弄明白,能解释一下么举个例子也好,谢谢~!)
2026年3月11日 01:15
eclipse连接sql server(eclipse连接sql server2008r2jar包导进去了还是显示驱动有问题怎么办)
2026年1月22日 20:30
android源码调试(如何调试Android Framework)
2025年11月18日 07:45
java经典100例算法题(利用Java编写应用程序求100以内的全部素数)
2025年10月23日 20:00












