
汇编
知识点,题目
努 力 小 子
憨憨一个
展开
-
程序直接控制I/O方式
原创 2021-05-17 22:44:30 · 673 阅读 · 0 评论 -
DOS调用21H存取中断向量
原创 2020-05-18 15:22:16 · 686 阅读 · 0 评论 -
DOS基本调用流程
原创 2020-05-17 17:41:08 · 383 阅读 · 0 评论 -
汇编IF的判断
原创 2020-05-17 17:11:50 · 954 阅读 · 0 评论 -
汇编NEG(求补/即求相反数)指令
NEG是汇编指令中的求补指令,NEG指令对操作数执行求补运算:用零减去操作数,然后结果返回操作数。求补运算也可以表达成:将操作数按位取反后加1。格式:NEG OPR执行的操作:(OPR)<-- —(OPR)亦即把操作数按位求反后末位加1,因而执行的操作也可表示为:(OPR)<-- 0FFFFH — (OPR) + 1NEG指令对标志的影响与用零作减法的SUB指令一样。...原创 2020-05-17 13:08:23 · 14841 阅读 · 0 评论 -
CALL指令和RET指令
RET指令的内部操作是:栈顶字单元出栈,其值赋给IP寄存器。即实现了一个程序的转移,将栈顶字单元保存的偏移地址作为下一条指令的偏移地址。CALL(LCALL)指令执行时,进行两步操作: (1)将程序当前执行的位置IP压入堆栈中 (2)转移到调用的子程序。...原创 2020-05-16 19:02:12 · 1416 阅读 · 0 评论 -
汇编 db,dw,dd
db定义字节类型变量,一个字节数据占1个字节单元,读完一个,偏移量加1dw定义字类型变量,一个字数据占2个字节单元,读完一个,偏移量加2dw取偏移地址来初始化变量dd定义双字类型变量,一个双字数据占4个字节单元,读完一个,偏移量加4dd取段地址和偏移地址来初始化变量那么字节单元是什么呢?存储器的最基本存储单元为一个二进制位(1bit),一个字节单元(Byte)抱括8个二进制位,一个字单元包括两个字节单元。...原创 2020-05-16 18:23:47 · 1682 阅读 · 0 评论 -
MOV AX,DATA MOV DS,AX
MOV AX,DATAMOV DS,AX其实就是把data(数据) 转到 DS 数据段寄存器,让数据段指向正确的位置。MOV AX,DATA起到过渡作用原创 2020-05-06 11:07:22 · 19864 阅读 · 11 评论 -
expected:instruction or directive
expected:instruction or directive:出现了无法识别的助记符原创 2020-05-06 10:41:01 · 4261 阅读 · 0 评论 -
汇编OFFSET,SEG,LEA
OFFSETOFFSET +X符识符,表示取X的首地址TABLE DW 10; 设定一个以TABLE为首地址的数据MOV BX,OFFSET TABLE;将TABLE的首地址传送给基址寄存器BXLEAlea eax,[SI] 说明: eax得到SI指向的堆栈内容的偏移地址, 和寄存器SI的值是相同的LEA BX, TABLE ;在实际执行时才会将变量buffer的地址放入bx...原创 2020-05-04 09:31:41 · 5833 阅读 · 1 评论 -
五一汇编题
分析下面的程序,画出堆栈最满时各单元的地址及内容。S_SEG SEGMENT AT 1000H ;定义堆栈段DW 200 DUP (?) ;200*2=190H TOS LABEL WORDS_SEG ENDSC_SEG SEGMENT ASSUME CS: C_SEG, SS: S_SEGSTART: MOV AX, S_SEG...原创 2020-05-03 18:13:18 · 1592 阅读 · 0 评论 -
汇编部分部分指令
CBWCBW 字节转换为字指令执行的操作:AL的内容扩展到AH,形成AX中的字。INT 21Hint xxHmov ah,1从键盘输入,并以16进制保存XCHG功能: 交换两个操作数的数据语法: XCHG格式: XCHG r1,r2 XCHG m,r XCHG r,m...原创 2020-04-26 14:03:11 · 636 阅读 · 0 评论 -
数字和字母的ascll码
ascll码48~57为0到9十个阿拉伯数字。65~90为26个大写英文字母97~122号为26个小写英文字母原创 2020-04-26 13:43:04 · 4594 阅读 · 0 评论 -
汇编中XXH
INT 21H是指DOS的中断调用命令。最常用的知包括:01H、07H和08H —从标准输入设备输入字符道02H —字符输出03H —辅助设备的回输入04H —辅助设备的输出05H —打印输出06H —控制台输入/输出09H —显示字符串0AH — 键盘缓冲答输入0BH —检测输入状态0CH —清输入缓冲区的输入功能用法如下:MOV AH 09H...原创 2020-04-25 17:56:19 · 694 阅读 · 0 评论 -
20200413汇编题
CODE SEGMENTMAIN PROC FARASSUME CS:CODE, DS: CODS BEGIN: PUSH DS XOR AX,AX PUSH AX MOV AX, 01MOV BX, 02MOV DX, 03...原创 2020-04-13 19:38:00 · 669 阅读 · 0 评论 -
试分析下列程序段:请选择(L1、L2、L3或L4)填入相应的括弧中
试分析下列程序段:请选择(L1、L2、L3或L4)填入相应的括弧中ADD AX, BXJNO L1JNC L2JS L3JMP SHORT L4如果AX=147BH、BX=147BH时,程序转向(①);如果AX=B568H、BX=42C8H时,程序转向(②);如果AX=42C8H、BX=608...原创 2020-04-13 16:13:06 · 1195 阅读 · 0 评论 -
16进制数怎么判断正负
看首位是否<8,<8说明是正数,≥8说明是负数。原理:临界值为7fffH,我们知道首位7的二进制码为0111,而0111的首位是0,说明是正数。而像8000H首位8二进制码为1000,首位为1,就变成负数了。...原创 2020-04-13 16:07:39 · 20565 阅读 · 0 评论 -
从SOURCE_BUFFER单元开始存放了20个字母A, 编程将这20个字母A的字符 串向下移10个单元.
从SOURCE_BUFFER单元开始存放了20个字母A, 编程将这20个字母A的字符串向下移10个单元.data segmentsource_buffer db 20 dup('A')data ends extra segment dest_buffer db 20 dup(...原创 2020-04-05 19:28:41 · 843 阅读 · 0 评论 -
从SOURCE_BUFFER单元开始存放了20个字母A, 编程将这20个字母A的字符串传送到DEST_BUFFER开始的单元中.
从SOURCE_BUFFER单元开始存放了20个字母A, 编程将这20个字母A的字符串传送到DEST_BUFFER开始的单元中.data segmentsource_buffer db 20 dup('A')data ends extra segment dest_buffer db ...原创 2020-04-05 18:23:20 · 1478 阅读 · 0 评论 -
如何使用dosbox运行程序——步骤详解
我在e盘中创建了一个asm文件夹,并把masm文件夹放在里面。将源代码写完后命名为test1.dsm放在了masm文件夹中。之后步骤为:1.双击打开dosbox2.输入mount c e:\asm表示打开asm文件夹,按回车3.输入c: 表示加载到c盘,注意分号别忘了,按回车4.输入cd masm,按回车5.输入dir,按回车后可查看masm中带有的文件由于我已经编译过了,所以...原创 2020-04-05 17:08:43 · 72904 阅读 · 0 评论 -
在数据段DATA中有两个字数据X和Y, 假设X=1122H, Y=3344H, 编程求两个字的和,结果存放到Z单元中.
data segment x dw 1122h y dw 3344h z dw ?data endscode segment assume cs:code,ds:datamain proc farstart:push ds xor ax,ax push ax mov ax,da...原创 2020-04-05 17:08:08 · 3855 阅读 · 0 评论 -
dosbox中的bebug指令
( 1 )G命令运行当前在内存中的程序。 -g [=address] [breakpoints] 参数 =address 指定当前在内存中要开始执行的程序地址。如果不指定 address,Windows 2000 将从 CS:IP 寄存器中的当前地址开始执行程序。 breakpoints 指定可以设置为 g 命令的部分的 1 到 10 个临时断点。 有关执行指令的信息,请参看De...原创 2020-04-05 16:57:28 · 2614 阅读 · 1 评论 -
汇编中ah,al,ax;es,cs,ds,ss;
ax中ah是高字节,al是低字节,组成ax(字)原创 2020-04-05 16:44:33 · 14366 阅读 · 0 评论 -
汇编程序格式
原创 2020-04-05 15:33:43 · 301 阅读 · 0 评论 -
汇编软件DOSBox使用教程
1.安装安装DOSBox后双击DOSBox0.74-win32-installer.exe,之后点next->next->install->close安装成功2.运行双击DOSBox运行程序弹出如下窗口在自己的一个盘中新建一个文件夹,我给他命名为DevelopmentEnvironment并把程序文件中的MASM放到里面回到程序界面后输出 mount c...原创 2020-04-02 19:48:17 · 14630 阅读 · 2 评论 -
汇编题20200330
假设程序中的数据定义如下: PARTNO DW ? PNAME DB 16 DUP (?) COUNT DD ? PLENTH EQU $-PARTNO问PLENTH的值为多少?它表示什么意义?PARTNO DW ?定义了PARTNO占一个字即两个字节...原创 2020-03-30 17:51:03 · 1870 阅读 · 0 评论 -
汇编语言运算符优先级
优先级大的先做原创 2020-03-30 16:09:09 · 1840 阅读 · 0 评论 -
汇编语言串指令经典题目
已知数据段定义如下:DATAREA SEGMENTCONAME DB ‘SPACE EXPLORERS INC.’PRLINE DB 20 DUP (?)DATAREA ENDS用串指令编写程序段完成从左到右把CONAME中的字符串传送到PRLINE的功能。MOV AX,DATAREA;MOV DS,AX;MOV ES,AX;MOV ...原创 2020-03-30 10:57:08 · 2925 阅读 · 0 评论 -
四个标志位SF,ZF,OF,CF
SF结果为负,即符号位为1时SF=1,否则为0.ZF结果为0,ZF=1,否则为0CF最高位进位,CF=1,不进位为0OF两操作数符号相同但结果与符号位相反,OF=1原创 2020-03-21 19:47:37 · 19721 阅读 · 0 评论 -
十六进制直接求补码
举个例子,求060B的补码。FFFF-060B+1=F9F5首先设一个与被求数位数相同且每一位都是F的十六进制数,直接相减后加1。原创 2020-03-16 16:40:34 · 21299 阅读 · 2 评论 -
乘法指令IMUL的详细分解计算过程
如果实在不会又马上要用,直接换算成10进制后计算:例题中AL=0B4H=10110100B,由于是带符号数,求补得11001100B,即-76D,-76*17=-1292D,再化成二进制,求补后化成16进制得0FAF4H...原创 2020-03-16 15:10:40 · 17304 阅读 · 0 评论 -
寻址方式
现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)=12H,(20101H)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=B7H,(21203H)=65H,试说明下列各条指令执行完后AX寄存器的内容。(1) MOV AX, 1200H(2) MOV AX, BX(3)...原创 2020-03-12 20:18:54 · 4287 阅读 · 0 评论 -
16进制如果换算后第一个是字母,前面必须加零
16进制如果换算后第一个是字母,前面必须加零原创 2020-03-02 15:18:10 · 3568 阅读 · 0 评论