最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

VScode配置8086匯編環(huán)境的過程解析

 更新時(shí)間:2023年04月10日 15:37:11   作者:夏天是冰紅茶  
這篇文章主要介紹了VScode配置8086匯編環(huán)境的過程解析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

0、感慨 

搭配一個(gè)簡(jiǎn)單些的環(huán)境,對(duì)于我們匯編的學(xué)習(xí)很有幫助,在這里又不得不感嘆vscode的強(qiáng)大,使用VScode+MASM/TASM插件就可以實(shí)現(xiàn)8086匯編。真的相對(duì)于其他的安裝方式,我們都會(huì)認(rèn)同越簡(jiǎn)單越好。

1、VScode的安裝

Visual Studio Code - Code Editing. Redefined

vscode的安裝過程沒有什么難度,出了選擇安裝路徑外,一律通過即可。

2、下載MASM/TASM插件

在擴(kuò)展當(dāng)中,搜索并下載MASM/TASM。

3、測(cè)試匯編環(huán)境

新建文件

這里我們只需要點(diǎn)擊Ctrl+Shift+N即可出現(xiàn),下面這個(gè)界面。

 在這里需要已經(jīng)新建好的工程文件夾。如我下圖所示的“8086masm”。

 在其左側(cè)資源管理器中的文件夾下,新建一個(gè)temp.asm文件,這里一定要有.asm后綴。

匯編文件配置

vscode它僅僅是一個(gè)代碼編輯器,并不會(huì)像IDLE一樣寫好代碼就可以點(diǎn)擊進(jìn)行運(yùn)行,這里需要自己進(jìn)行相應(yīng)的配置。在vscode界面,同時(shí)按下Ctrl+Shift+P調(diào)出命令面板,輸入setting。

打開工作區(qū)設(shè)置(JSON)。下面是我的配置信息,僅供參考。

{
    "masmtasm.ASM.emulator": "msdos player",  
    "masmtasm.dosbox.run": "exit",
    "masmtasm.ASM.assembler": "MASM-v5.00",
    "masmtasm.ASM.actions": {
        "TASM": {
            "baseBundle": "<built-in>/TASM.jsdos",
            "before": [
                "set PATH=C:\\TASM"
            ],
            "run": [
                "TASM ${file}",
                "TLINK ${filename}",
                ">${filename}"
            ],
            "debug": [
                "TASM /zi ${file}",
                "TLINK /v/3 ${filename}.obj",
                "TD ${filename}.exe"
            ]
        },
        "MASM-v6.11": {
            "baseBundle": "<built-in>/MASM-v6.11.jsdos",
            "before": [
                "set PATH=C:\\MASM"
            ],
            "run": [
                "masm ${file};",
                "link ${filename};",
                ">${filename}"
            ],
            "debug": [
                "masm ${file};",
                "link ${filename}.OBJ;",
                ">debug ${filename}.exe"
            ]
        },
        "MASM-v5.00": {
            "baseBundle": "<built-in>/MASM-v5.00.jsdos",
            "before": [
                "set PATH=C:\\MASM"
            ],
            "run": [
                "masm ${file};",
                "link ${filename};",
                ">${filename}"
            ],
            "debug": [
                "masm ${file};",
                "link ${filename}.OBJ;",
                ">debug ${filename}.exe"
            ],
            "support": [
                "jsdos",
                "dosbox",
                "dosboxX",
                "msdos player"
            ]
        }
    }
}

匯編代碼的運(yùn)行

右鍵可以查看到,可以“運(yùn)行當(dāng)前程序(匯編+鏈接+運(yùn)行)”

初學(xué)者可能不能看懂下面代碼什么意思,我們來點(diǎn)擊運(yùn)行試試吧!

STACK   SEGMENT PARA 'STACK'     ;定義堆棧段,段名為STACK
DB   100 DUP('?')                ;分配堆棧的大小,設(shè)置為100字節(jié)
STACK   ENDS                     
DATA    SEGMENT                  ;定義數(shù)據(jù)段,段名為DATA
    STRING     DB'HELLO!','$'    ;定義字符串?dāng)?shù)據(jù)
DATA    ENDS 
CODE    SEGMENT                  ;定義代碼段,改名為CODE
ASSUME  CS:CODE, DS:DATA, SS:STACK
START:  MOV  AX, DATA            ;程序執(zhí)行起始點(diǎn)
        MOV  DS, AX              ;將數(shù)據(jù)段地址寄存器指向用戶數(shù)據(jù)段
        MOV  AX, STACK
        MOV  SS, AX              ;將堆棧段地址寄存器指向用戶堆棧段
        LEA  DX, STRING
        MOV  AH, 09H
        INT  21H                 ;系統(tǒng)調(diào)試功能,在顯示器上顯示字符串
        MOV  AH, 4CH
        INT  21H                 ;系統(tǒng)調(diào)試功能,程序結(jié)束返回操作系統(tǒng)
CODE    ENDS
        END  START               ;匯編結(jié)束,段內(nèi)程序起點(diǎn)為START

運(yùn)行結(jié)果如下: 

運(yùn)行過后相信大家明白這就是一個(gè)完整的匯編語言源程序示例,該程序就是完成在屏幕中打印顯示“HELLO!”。

當(dāng)然啦,對(duì)于這個(gè)程序,我們應(yīng)當(dāng)側(cè)重于了解它的格式,而不僅僅是內(nèi)容。通常,完整的匯編語言源程序格式的定義由SEGMENT和ENDS這對(duì)偽指令實(shí)現(xiàn),同時(shí)需要偽指令A(yù)SSUME指定該段加載的段地址寄存器。

以上的ASSUME語句將CS、DS、SS依次指向名為CODE、DATA、STACK的段,然而,ASSUME語句并不為DS、SS賦值,所以,程序開始就是先用傳送指令將數(shù)據(jù)段DATA和堆棧段STACK的段地址分別賦值到DS、SS,然后進(jìn)行系統(tǒng)功能調(diào)用,在顯示器上顯示字符串。最后,系統(tǒng)功能調(diào)用,程序結(jié)束返回操作系統(tǒng)。

到此這篇關(guān)于VScode配置8086匯編環(huán)境的文章就介紹到這了,更多相關(guān)VScode配置匯編內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • asm基礎(chǔ)——匯編指令之in/out指令

    asm基礎(chǔ)——匯編指令之in/out指令

    這篇文章主要介紹了asm基礎(chǔ)——匯編指令之in/out指令,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • 詳解匯編語言中中括號(hào)[]作用及l(fā)ea和mov指令的區(qū)別

    詳解匯編語言中中括號(hào)[]作用及l(fā)ea和mov指令的區(qū)別

    這篇文章主要介紹了匯編語言中中括號(hào)[]作用及l(fā)ea和mov指令的區(qū)別,本文分步驟給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-01-01
  • 一文掌握匯編語言 halt 命令

    一文掌握匯編語言 halt 命令

    匯編 halt 命令,是一條重復(fù)執(zhí)行指定標(biāo)號(hào)的循環(huán)命令。處理器暫停,直到出現(xiàn)中斷或復(fù)位信號(hào)才繼續(xù),這篇文章主要介紹了匯編語言 halt 命令,需要的朋友可以參考下
    2023-01-01
  • 匯編語言偽指令和匯編指令的區(qū)別

    匯編語言偽指令和匯編指令的區(qū)別

    指令是控制程序運(yùn)行時(shí)的機(jī)器代碼運(yùn)作的,是CPU執(zhí)行的依據(jù),編程、編譯、執(zhí)行都是有效的。偽指令不直接控制運(yùn)行時(shí)刻的機(jī)器,但是控制翻譯程序如何生成機(jī)器指令代碼,感興趣的朋友跟隨小編一起看看吧
    2020-01-01
  • 利用DOSBox運(yùn)行匯編的詳細(xì)步驟

    利用DOSBox運(yùn)行匯編的詳細(xì)步驟

    本文分步驟給大家介紹了利用DOSBox運(yùn)行匯編,起初是利用VS2017進(jìn)行配置,但后面運(yùn)行好像有些問題,就想到用DOSBox,本文分步驟給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2022-03-03
  • 常用的匯編指令與技巧(收藏)

    常用的匯編指令與技巧(收藏)

    這篇文章主要介紹了常用的匯編指令與技巧,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-01-01
  • 匯編語言位向量(位映射)的實(shí)現(xiàn)

    匯編語言位向量(位映射)的實(shí)現(xiàn)

    這篇文章主要介紹了匯編語言位向量(位映射)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • 匯編語言MIPS指令分類及尋址模式原理概念

    匯編語言MIPS指令分類及尋址模式原理概念

    這篇文章主要為大家介紹了匯編語言MIPS指令分類及尋址模式的原理及概念,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-11-11
  • 匯編語言指令集學(xué)習(xí)條件轉(zhuǎn)移指令詳解

    匯編語言指令集學(xué)習(xí)條件轉(zhuǎn)移指令詳解

    這篇文章主要為大家介紹了匯編語言指令集學(xué)習(xí)條件轉(zhuǎn)移的指令全面總結(jié)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-11-11
  • 在vs2017中編寫匯編的實(shí)現(xiàn)(圖文)

    在vs2017中編寫匯編的實(shí)現(xiàn)(圖文)

    這篇文章主要介紹了在vs2017中編寫匯編的實(shí)現(xiàn)(圖文),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03

最新評(píng)論

洛南县| 牡丹江市| 屏东市| 阳春市| 嘉鱼县| 铜川市| 巢湖市| 古田县| 五家渠市| 木里| 海晏县| 且末县| 漾濞| 三台县| 桃江县| 舟山市| 平阴县| 建阳市| 天祝| 个旧市| 南陵县| 昔阳县| 通江县| 牡丹江市| 宜兰市| 武胜县| 法库县| 桂林市| 临汾市| 莱阳市| 镇巴县| 阳城县| 青田县| 高邮市| 石门县| 儋州市| 资中县| 六盘水市| 嫩江县| 郧西县| 冕宁县|