精华内容
下载资源
问答
  • 初学者学习汇编语言通常是从16位汇编开始,但是现在的64Win7系统明确表示不支持16位的程序。所以要想保留Win7又想学习汇编就需要搭建一个16位汇编的运行环境,借助DOSBOX可以解决这个问题。
  • 一个无注释的asm文件,具体请看我的博客中的教程。
  • 这是一个用于16位Intel 8087处理器的玩具反汇编器,是维尔纽斯大学计算机架构课程的练习。 它仅识别.COM可执行文件中可用指令的子集。 运行它 目前,我无法使其再次运行。 最初,它是在某些不同的仿真环境上运行的,...
  • 在学习16位汇编的时候,需要用到MASM32编译器,为了方便编辑环境变量装了个XP的虚拟机来学习,刚好也可以用到debug.exe来调试16位汇编代码。 MASM32安装很简单。可以参考这篇文章,环境变量配置也有,ctrl+c,ctrl...

            在学习16位汇编的时候,需要用到MASM32编译器,为了方便编辑环境变量装了个XP的虚拟机来学习,刚好也可以用到debug.exe来调试16位汇编代码。

            MASM32安装很简单。可以参考这篇文章,环境变量配置也有,ctrl+c,ctrl+v就OK,事先声明,MASM32版本下载的是masm32v11r

            参考文章中给了个Win32窗口的汇编代码,继续ctrl+c,ctrl+v,编译指令如下:

            先编译资源文件,编译失败:给了个error RC2103错误。说是字符串错误,仔细看了下rc文件,没啥问题,尝试修改rc文件中的字符串。最后找到问题,不支持退出这2个汉字,换成确定啥的汉字都没问题,改成英文的Quit更好,就不需要纠结这个问题。

            修改后:

    // 资源文件注释格式为双斜杠
    // 包含资源头文件,以能使用头键字
    #include    <resource.h>
    
    // 指定对话框ID,asm文件中要定义同值变量才可引用
    #define    DLG_HELLOWORLD    1
    
    // 定义对话框结构
    DLG_HELLOWORLD    DIALOG 350,200,213,164
    STYLE                        DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
    CAPTION                    "Helloworld Program"
    FONT                        11,"宋体"
    {
        CTEXT    "Win32 Assembly Helloworld Program",-1,50,54,170,21
        CONTROL "",-1,"Static",SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE,6,79,203,1
        DEFPUSHBUTTON "确定",IDOK,158,86,50,21
    }

            编译asm,成功,接着链接,失败,给出一堆乱码的错误。

            解决方案也很简单,把includelib到uer32.lib中间全部删除,换成空格一下,编译ok,链接失败,换了另一个错误,链接kernel32.lib错误,跟uer32.lib的解决方案一样,然后继续编译,链接成功,生成helloworld.exe文件,执行成功。

            修改后的代码:

    ; asm文件注释格式为分号
    ; 定义程序模式
    .386
    .model            flat,stdcall
    option            casemap    :none
    
    ; 包含必要头文件,基本每个win32 汇编程序都需要包含这几个
    include            windows.inc
    include            user32.inc
    includelib user32.lib
    include            kernel32.inc
    includelib kernel32.lib
    
    ; 指定对话框ID,该ID要与rc文件中的ID值相同
    ; 理论上,asm文件与rc文件中的控件是通过ID值关联的,控件名并不需要与rc文件相同,不过为了易看一般取一样的
    ; 比如这里重点是equ 1,叫不叫DLG_HELLOWORLD无所谓,不过为了易看所以选择与rc文件保持一致
    DLG_HELLOWORLD    equ    1
    
    ; 数据段
    .data?
    hInstance    dd    ?
    
    ; 代码段
    .code
    ; 对话框处理过程
    _ProcDlgHelloworld proc uses ebx edi esi hWnd,wMsg,wParam,lParam
        mov    eax,wMsg
        .if eax == WM_CLOSE
                invoke    EndDialog,hWnd,NULL
        .elseif eax == WM_INITDIALOG
                ;invoke    LoadIcon,hInstance,ICO_MAIN
                ;incoke    SendMessage,hWnd,WM_SETICON,ICON_BIG,eax
        .elseif eax == WM_COMMAND
                mov    eax,wParam
                .if ax == IDOK
                        invoke    EndDialog,hWnd,NULL
                .endif
        .else
                mov    eax,FALSE
                ret
        .endif
        mov    eax,TRUE
        ret
    _ProcDlgHelloworld    endp
    
    start:
        invoke    GetModuleHandle,NULL
        mov       hInstance,eax
        ; 弹出对话框,对话框与及处理过程在这里绑定
        invoke    DialogBoxParam,hInstance,DLG_HELLOWORLD,NULL,offset _ProcDlgHelloworld,NULL
        invoke    ExitProcess,NULL
        ; 指定程序入口点为start标识处
        end       start

            到此为止,证明MASM32安装成功,虽然Win32窗口有个小瑕疵,就是确定这2个汉字变成了乱码,不喜欢的话,可以改成英文的Quit,这样就めでたしめでたし。不支持汉字感觉是不是漏装了啥,虚拟机的XP是原版的,外加只装了MASM32,没有装任何IDE。

            正在学习的16位汇编都是用MASM32命令来编译的,刚安装的版本是不是太高了,没有MASM32.exe文件,网上查了下好像改名了,改成ML了。如果直接用ML来编译链接asm文件的话,给出一堆连接错误:

            搜了下,解决方案就是ML后加参数/c,ml  /c的意识是只编译不连接。因此还需要手动链接,因为是16位汇编,所以需要用link16,而不是link来链接。

    ml /c 1.asm
    link16 1.obj

            链接成功后,需要用debug.exe来执行,不然就一闪而过。CS指令段地址是0B46,因此利用反汇编指令来查看。

    展开全文
  • title: 关于数组的建立与访问(16位汇编) data: 2021-04-01 11:17:30 author: Jamal photo: https://cdn.pixabay.com/photo/2021/03/22/19/42/beach-6115569_960_720.jpg Assembly_Language Review1(array) 16...

    title: 关于数组的建立与访问(16位汇编)
    data: 2021-04-01 11:17:30
    author: Jamal
    photo:

    • https://cdn.pixabay.com/photo/2021/03/22/19/42/beach-6115569_960_720.jpg
    • Assembly_Language

    Review1(array)

    16位汇编与32位汇编的区别

    1. 宽度的区别

    16位汇编是在dos环境下的汇编语言。

    32位汇编是在windowslinux环境下的汇编语言。

    16位汇编的寄存器和地址都是16位,32位汇编的寄存器和地址都是32位。

    2. 调用操作系统函数时有区别

    例如在屏幕上输出一句话:

    32位汇编可以调用MessageBox这个函数,通过弹框输出;

    16位汇编需要调用int 21h9号功能。

    使用16位寄存器及地址与使用32位寄存器及地址在__语法__上差别不大。

    eg.

    mov ax, 1;   //16位寄存器
    mov eax, 1;  //32位寄存器
    mov word ptr ds : [1000h], 1234h;     //16位地址
    mov word ptr ds : [00401000h], 1234h; //32位地址
    

    3. 关于Register

    32位汇编中,寄存器是32位的。以eax举例,它的低16位就称为ax,高16位没有名字。

    16位汇编中,寄存器是16位的。以ax举例,它的低8位称为al,高8位称为ah

    汇编中数组的定义与使用

    1. 定义

    汇编的类型根据变量的长度来进行区分,因此定义变量时使用五个关键字:DB DW DD DQ DT(常用DB,DW)

    DB (Define Byte) : 即定义的变量占一个字节的长度。(将定义的变量值放入一个字节的内存空间)unsigned char

    eg.

    a DB 7h  ;将7h放入内存的某一个字节
    a DB 'h' ;存入h的ASCⅡ码48h 
    

    同样,可以通过DB定义数组

    a DB 48h, 65h, 6Ch, 6Ch, 6Fh, 00h 
    ;等价于
    b DB 'Hello',0
    

    定义一个具有一系列相同元素的数组可以使用DUP关键字。

    c DB 6 DUP(6)
    ;等价于
    c DB 6,6,6,6,6,6
    
    d DB 3 DUP(1,2)
    ;等价于
    d DB 1,2,1,2,1,2
    

    DW(Define Word) : 定义一个字(两个字节)。unsigned short int

    DD(Define Double word) : 定义双字(四个字节)。定义一个32位小数(即float类型)

    DQ(Define Quartet word) : 定义四字(八个字节)。可定义64位整数quadruple word或double类型的小数

    DT(Define Ten Byte) : 定义十字。可以定义一个80位的小数(即long double类型的小数)

    2.引用

    与C语言形式类似,汇编中表示数组的形式也是数组名 [ 下标 ],但需要注意的是在引用数组元素之前,必须先保证段寄存器**ds中已经保存了该数组的段地址**。

    段地址 + 偏移地址 ⟹ \Longrightarrow 真实地址(远指针)

    比如这样的一块数据段定义

    data segment
    a DB 100 dup(0)
    b DB "Hello", 0Dh, 0Ah
    data ends
    

    在下面的程序中如果想要访问数组a或者b中的元素,就需要在访问之前在ds中保存数组的段地址。

    对于这段数据段定义,数组a和b的段地址是相同的,他们的区别在于偏移地址

    段地址的表达方式有两种,因此下面两句是等价

    mov ax, seg a
    
    mov ax, data
    

    我觉得可以这么理解,data segment就是定义了一个连续的空间,用于存放数组元素。类似于C语言的一个数组,数组名就是数组的地址,即data.而对于 seg a 这种表达方式很直观没有什么赘述的。

    在这里有一点细节,就是以s结尾的寄存器是段寄存器,段寄存器有一个怪脾气:不直接接受常数。需要一个临时寄存器在中间中转一下。像下面这样:

    mov ax, data
    mov ds, ax
    

    下面举一个访问修改数组中的值的操作的例子。

    mov di, 0 ;di作为数组a的下标
    mov ah, 01h ;
    int 21h ;调用21的1号功能:读取一个字符,并将读取的值放在al中
    mov a[di], al ;将读取的字符的ascⅡ存入数组
    add di, 1 ;数组下标加一
    

    注意: db是一个byte,相当于C语言中的char,而16位的寄存器有两个byte,所以赋值的时候不要忘记只用寄存器的一半,即al或者ah。

    展开全文
  • 16位汇编相关寄存器

    2019-09-17 14:29:23
    文章目录1 X86 16位汇编所涉及的寄存器 1 X86 16位汇编所涉及的寄存器 总共也没几个寄存器啊,为啥就是记不住呢。 8个通用寄存器: 4个段寄存器: 2个控制寄存器: ...

    1 寄存器的组成部分

    1.1 8086寄存器组成

    8位寄存器的每个bit有高低位之分,16位寄存器和32位寄存器的每个字节也有高低字节之分。
    在这里插入图片描述

    1.2 8086处理器是小端模式

    在这里插入图片描述


    2 X86 16位汇编所涉及的寄存器

    总共也没几个寄存器啊,为啥就是记不住呢。

    8个通用寄存器:
    在这里插入图片描述

    4个段寄存器:
    在这里插入图片描述
    2个控制寄存器:
    在这里插入图片描述


    3 寄存器的用法

    3.1 DS和ES

    mov ax, [0001]:默认使用DS寄存器作为段地址,0001作为数据在段内的偏移地址。
    mov ax, [DS:0001]:指定DS寄存器作为段地址,0001作为数据在段内的偏移地址。
    mov ax, [ES:0001]:指定ES寄存器作为段地址,0001作为数据在段内的偏移地址。

    3.2 CS和IP

    CS:用于存储代码段的起始地址,也就是代码段的段地址。
    IP:用于存储代码在段内的偏移地址。


    参考资料:

    1. 深度学习:C/C++、计算机体系
    展开全文
  • 经典16位汇编器masm5,64系统需要在xpmode下运行 学习汇编的好工具。
  • 用VScode调试16位汇编.mp4
  • 打开D:\masm32\qeditor.exe再集成环境下汇编, 或运行var.bat设置环境变量后再命令行下汇编 @echo off set include=D:\masm32\include set lib=D:\masm32\lib set path=D:\masm32\bin;%path% echo on
  • 64机运行16位汇编的方法
  • 16位汇编指令

    千次阅读 2017-05-22 21:00:24
    汇编语言特点:与机器相关,执行效率高,调试复杂 汇编语言优缺点:汇编语言和高级语言混合编写,互补 数据表示类型:二进制B,八进制Q,进制D,十六进制H BCD编码:用二进制来表示进制数 CPU资源和存储器:通用...

    汇编语言特点:与机器相关,执行效率高,调试复杂

    汇编语言优缺点:汇编语言和高级语言混合编写,互补

    数据表示类型:二进制B,八进制Q,十进制D,十六进制H

    BCD编码:用二进制来表示十进制数

    CPU资源和存储器:通用寄存器,标志寄存器,指令寄存器

    EAX,累加

    ECX,循环计数

    EDX,数据寄存器

    EBX,基址寄存器

    ESP,栈顶

    EBP,栈底

    ESI,扩展源指针

    EDI,扩展目的指针

    EIP,指令指针

    SI(16位),变址寄存器,常用于存储器寻址时提供地址,源操作数指针

    DI(16位),变址寄存器,常用于存储器寻址时提供地址,目的操作数指针

    Flag寄存器

    15

    14

    13

    12

    11

    10

    9

    8

    7

    6

    5

    4

    3

    2

    1

    0

     

     

     

     

    OF

    DF

    IF

    TF

    SF

    ZF

     

    AF

     

    PF

     

    CF

     

     

     

     

    溢出

    方向

    中断

    陷阱

    符号

     

    辅助

     

    奇偶

     

    进位

    Debug状态

    真假

    OV/NV

    DN/UP

    EI/DI

     

    NG/PL

    ZR/NZ

     

    AC/NA

     

    PE/PO

     

    CY/NC

    进位CF,CF=1,运算结果表示有进位或者借位

    零标志ZF,ZF=1,表示结果为0

    符号标志SF,SF=1,运算结果最高位为1

    奇偶标志PF,PF=1,运算结果最低8位1的个数为0或者偶数(奇)

    溢出标志OF,OF=1,算数运算结果有溢出

    辅助进位AF,AF=1,运算时有进位或借位

    方向标志DF,DF=1,地址自动减少,用于串操作,控制地址变化方向

    中断标志IF,IF=1,允许中断,用于控制外部可屏蔽中断是否可处理

    陷阱标志TF,TF=1,处理器处于单步执行指令(处理器每执行一条指令便产生一个内部中断,可以对程序进行单步调试)

    16位汇编物理地址与逻辑地址转换:逻辑地址<< 4位 + 偏移 = 物理地址(可以有多个逻辑地址)

    CS(代码段),表示代码段的起始地址

    SS(堆栈段),表示堆栈段的起始地址

    DS(数据段),表示数据段的起始地址

    ES(附加段),表示附加段的起始地址,附加段是数据段,用于数据保存,串操作指令将附加段作为其目的操作数的存放区域

    段前缀CS:  ;使用代码段

    段前缀SS:  ;使用栈段

    段前缀DS:  ;使用数据段

    段前缀ES:  ;使用附加段

    默认访问DS,使用BP则访问主存(SS)

    1M最多可分64K个段,最少能分16个段

    8086有8个8位通用寄存器(al,ah…),8个16位通用寄存器(ax,bx…),6个状态标志(CF,ZF,SF,PF,OF,AF)和3个控制标志(DF,IF,TF),4个段寄存器,4种逻辑段,4个段前缀指令

     

    立即数寻址,mov ah,0x01

    寄存器寻址,mov ah,[bh]

    直接寻址,mov AX,ES:[2000H]

    寄存器间接寻址,mov AX,[SI]

    寄存器相对寻址,mov AX,[DI+05]

    基址变址寻址,mov AX,[BX(BP)+SI]

    相对基址变址寻址,mov AX,[BX+SI+05]

     

    段内转移也称近转移(near ptr)

    段内转移也称短转移(short)

    段间转移也称远转移(far ptr)

     

    8086汇编指令

    [ASM]8088汇编指令

    一、数据传输指令

    ───────────────────────────────────────

      它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据.

      1. 通用数据传送指令.

        MOV 传送字或字节.

        MOVSX 先符号扩展,再传送.

        MOVZX 先零扩展,再传送.

        PUSH  把字压入堆栈.

        POP  把字弹出堆栈.

        PUSHA 把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈.

        POPA  把DI,SI,BP,SP,BX,DX,CX,AX依次弹出堆栈.

        PUSHAD 把EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI依次压入堆栈.

        POPAD 把EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX依次弹出堆栈.

        BSWAP 交换32位寄存器里字节的顺序

        XCHG  交换字或字节.( 至少有一个操作数为寄存器,段寄存器不可作为操作数)

        CMPXCHG 比较并交换操作数.( 第二个操作数必须为累加器AL/AX/EAX )

        XADD  先交换再累加.( 结果在第一个操作数里 )

        XLAT  字节查表转换.

            ── BX 指向一张 256 字节的表的起点, AL 为表的索引值 (0-255,即

            0-FFH); 返回 AL 为查表结果. ( [BX+AL]->AL )

     

      2. 输入输出端口传送指令.

        IN   I/O端口输入. ( 语法: IN 累加器, )

        OUT   I/O端口输出. ( 语法: OUT ,累加器 )

        输入输出端口由立即方式指定时, 其范围是 0-255; 由寄存器 DX 指定时, 其范围是 0-65535.

        

      3. 目的地址传送指令.

        LEA  装入有效地址.

        例: LEA DX,string ;把偏移地址存到DX.

        

        LDS  传送目标指针,把指针内容装入DS.

        例: LDS SI,string ;把段地址:偏移地址存到DS:SI.

        

        LES  传送目标指针,把指针内容装入ES.

        例: LES DI,string ;把段地址:偏移地址存到ES:DI.

        

        LFS  传送目标指针,把指针内容装入FS.

        例: LFS DI,string ;把段地址:偏移地址存到FS:DI.

        

        LGS  传送目标指针,把指针内容装入GS.

        例: LGS DI,string ;把段地址:偏移地址存到GS:DI.

        

        LSS  传送目标指针,把指针内容装入SS.

        例: LSS DI,string ;把段地址:偏移地址存到SS:DI.

        

      4. 标志传送指令.

        LAHF  标志寄存器传送,把标志装入AH.

        SAHF  标志寄存器传送,把AH内容装入标志寄存器.

        PUSHF 标志入栈.

        POPF  标志出栈.

        PUSHD  32位标志入栈.

        POPD  32位标志出栈.

     

    二、算术运算指令

    ───────────────────────────────────────

        ADD  加法.

        ADC  带进位加法.

        INC  加 1.

        AAA  加法的ASCII码调整.

        DAA  加法的十进制调整.

        SUB  减法.

        SBB  带借位减法.

        DEC  减 1.

        NEC  求反(以 0 减之).

        CMP  比较.(两操作数作减法,仅修改标志位,不回送结果).

        AAS  减法的ASCII码调整.

        DAS  减法的十进制调整.

        MUL  无符号乘法.

        IMUL  整数乘法.

        以上两条,结果回送AH和AL(字节运算),或DX和AX(字运算).

        

        AAM  乘法的ASCII码调整.

        DIV  无符号除法.

        IDIV  整数除法.

        以上两条,结果回送:

        商回送AL,余数回送AH, (字节运算); 或商回送AX,余数回送DX, (字运算).

        

        AAD  除法的ASCII码调整.

        CBW  字节转换为字. (把AL中字节的符号扩展到AH中去)

        CWD  字转换为双字. (把AX中的字的符号扩展到DX中去)

        CWDE  字转换为双字. (把AX中的字符号扩展到EAX中去)

        CDQ  双字扩展.   (把EAX中的字的符号扩展到EDX中去)

     

    三、逻辑运算指令

    ───────────────────────────────────────

        AND  与运算.

        OR  或运算.

        XOR  异或运算.

        NOT  取反.

        TEST 测试.(两操作数作与运算,仅修改标志位,不回送结果).

        SHL  逻辑左移.

        SAL  算术左移.(=SHL)

        SHR  逻辑右移.

        SAR  算术右移.(=SHR)

        ROL  循环左移.

        ROR  循环右移.

        RCL  通过进位的循环左移.

        RCR  通过进位的循环右移.

        以上八种移位指令,其移位次数可达255次.

        移位一次时, 可直接用操作码. 如 SHL AX,1.

        移位>1次时, 则由寄存器CL给出移位次数.

        如   MOV CL,04

            SHL AX,CL

     

    四、串指令

    ───────────────────────────────────────

        DS:SI 源串段寄存器 :源串变址.

        ES:DI 目标串段寄存器:目标串变址.

        CX   重复次数计数器.

        

        AL/AX 扫描值.

        D标志  0表示重复操作中SI和DI应自动增量; 1表示应自动减量.

        Z标志 用来控制扫描或比较操作的结束.

        

        MOVS  串传送.

        ( MOVSB 传送字符. MOVSW 传送字. MOVSD 传送双字. )

        

        CMPS  串比较.

        ( CMPSB 比较字符. CMPSW 比较字. )

        

        SCAS  串扫描.

        把AL或AX的内容与目标串作比较,比较结果反映在标志位.

        

        LODS  装入串.

        把源串中的元素(字或字节)逐一装入AL或AX中.

        ( LODSB 传送字符.  LODSW 传送字.  LODSD 传送双字. )

        

        STOS  保存串.

        是LODS的逆过程.

        

        REP      当CX/ECX<>0时重复.

        REPE/REPZ   当ZF=1或比较结果相等,且CX/ECX<>0时重复.

        REPNE/REPNZ  当ZF=0或比较结果不相等,且CX/ECX<>0时重复.

        REPC      当CF=1且CX/ECX<>0时重复.

        REPNC     当CF=0且CX/ECX<>0时重复.

     

    五、程序转移指令

    ───────────────────────────────────────

       1>无条件转移指令 (长转移)

        JMP      无条件转移指令

        CALL      过程调用

        RET/RETF    过程返回.

        

       2>条件转移指令 (短转移,-128到+127的距离内)

        ( 当且仅当(SF XOR OF)=1时,OP1  

        JA/JNBE    不小于或不等于时转移.

        JAE/JNB    大于或等于转移.

        JB/JNAE    小于转移.

        JBE/JNA    小于或等于转移.

        以上四条,测试无符号整数运算的结果(标志C和Z).

        

        JG/JNLE 大于转移.

        JGE/JNL 大于或等于转移.

        JL/JNGE 小于转移.

        JLE/JNG 小于或等于转移.

        以上四条,测试带符号整数运算的结果(标志S,O和Z).

        

        JE/JZ     等于转移.

        JNE/JNZ    不等于时转移.

        JC       有进位时转移.

        JNC      无进位时转移.

        JNO      不溢出时转移.

        JNP/JPO    奇偶性为奇数时转移.

        JNS      符号位为 "0" 时转移.

        JO       溢出转移.

        JP/JPE     奇偶性为偶数时转移.

        JS       符号位为 "1" 时转移.

        

      3>循环控制指令(短转移)

        LOOP      CX不为零时循环.

        LOOPE/LOOPZ   CX不为零且标志Z=1时循环.

        LOOPNE/LOOPNZ  CX不为零且标志Z=0时循环.

        JCXZ      CX为零时转移.

        JECXZ      ECX为零时转移.

        

      4>中断指令

        INT      中断指令

        INTO      溢出中断

        IRET      中断返回

        

      5>处理器控制指令

        HLT      处理器暂停, 直到出现中断或复位信号才继续.

        WAIT      当芯片引线TEST为高电平时使CPU进入等待状态.

        ESC      转换到外处理器.

        LOCK      封锁总线.

        NOP      空操作.

        STC      置进位标志位.

        CLC      清进位标志位.

        CMC      进位标志取反.

        STD      置方向标志位.

        CLD      清方向标志位.

        STI      置中断允许位.

        CLI      清中断允许位.

     

    六、伪指令

    ───────────────────────────────────────

        DW       定义字(2字节).

        PROC      定义过程.

        ENDP      过程结束.

        SEGMENT    定义段.

        ASSUME     建立段寄存器寻址.

        ENDS      段结束.

        END      程序结束. 

    展开全文
  • 16位汇编通讯录.doc

    2021-10-01 09:38:44
    16位汇编通讯录.doc
  • 汇编语言 16位汇编,是快速入门的好教才
  • 在Win10下利用vscode调试3216位汇编方法(masm-code + debugger) 这学期学汇编,老师推荐的工具是Masm for Windows。不过这软件又丑又老有些功能还要钱。一直在找改进方法,各种古老的ide也试过,xp虚拟机也试过...
  • 数据压缩器和转换器的汇编,以帮助开发 16 位汇编程序。 要运行这些 JAR 文件,请确保 Java 位于您的系统 PATH 变量中,并在 JAR 文件名及其所需参数之前插入java -jar 。 当前课程 16color256index.jar 压缩不...
  • 实验一 基本操作技能 实验二 DEBUG调试程序的使用 实验三 汇编语言分支程序设计 实验四 汇编语言循环程序设计 实验五 汇编语言子程序设计 实验 汇编语言菜单程序设计实验七 汇编语言动画程序设计 实验八 汇编语言...
  • masm615 16位汇编链接器

    2018-09-13 00:04:28
    masm615 16位汇编链接器
  • 16位汇编教材(王爽)超清-Part1
  • Masm 是16位汇编工具,所以在64系统上无法运行,需要 DOS 模拟器 安装完 dosbox 之后, 将 masm 文件复制到当前目录 只有 dosbox.exe, sdl.dll, sdl_nel.dll 三个文件有用,其余都可删除 DosBox 目录如下 dosbox....
  • 我用过的最好的16位汇编编译软件,是以前别人用scite做的,现在网上好像搜不到,拿出来跟大家分享,对于自己学习DOS环境下汇编知识有很大帮助。 *解压可用免安装。 *可以分步调试,清楚的观察到所有寄存器和标志的...
  • 包内含有Notepad,link,ml,lib,windbg等进行MASM汇编开发所需的所有工具,且附带大量开发示例,IO库以及一键编译脚本,无需任何配置,解压即用。
  • 16位和32位汇编在输入输出上有很大的区别,16位汇编表现得更加仔细,所以在指令上比32的 call readint 或者 **call readstring**更加细,而且16位汇编在输出数字的时候要把数字转换为字符。 1.1 输入代码为: ...
  • 16位汇编调试工具TD.EXE

    热门讨论 2008-10-23 16:39:06
    16位汇编调试工具,远远好过debug,图形化操作界面。
  • DOS16位汇编学习工具集合 列表: CREF.EXE ERROUT.EXE EXEMOD.EXE EXEPACK.EXE LIB.EXE LINK.EXE MASM.EXE MAKE.EXE QBASIC.EXE EDIT.COM
  • [16位汇编语言程序的集成开发]调试器模块的设计与实现 Visual Masm 集成开发工具的设计--调试器模块的设计与实现 刘永坚 计算机科学与工程学院 指导教师 李 晟 摘要本设计主要完成了16位汇编语言程序的集成开发环境...
  • 16位汇编的调试及常用命令

    千次阅读 2015-11-06 22:54:19
    16位汇编环境搭配及使用 debug常用命令 DOS 命令简单介绍
  • 手把手教你在64Win7下部署16位汇编学习环境
  • 16位masm汇编软件

    2012-11-25 18:57:07
    16位的,一般xp系统可以用,但win7的话就有一点麻烦。不过实际上还是很好用的
  • 16位汇编语言寄存器及指令整理

    千次阅读 2016-06-17 13:37:51
    16位微机汇编语言寄存器及指令

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 148,320
精华内容 59,328
关键字:

16位汇编