超碰在线91,国产第1页,国产精品99,最近中文字幕av

<video id="z2k50"><ins id="z2k50"></ins></video><small id="z2k50"><pre id="z2k50"><samp id="z2k50"></samp></pre></small>

    1. <video id="z2k50"><ins id="z2k50"></ins></video>

        8086的尋址方式

        發(fā)布時間:2024-05-29
        指令的一般格式:
        操作碼
        操作數(shù)
        ……
        操作數(shù)
        計算機中的指令由操作碼字段和操作數(shù)字段組成。
        操作碼:指計算機所要執(zhí)行的操作,或稱為指出操作類型,是一種助記符。
        操作數(shù):指在指令執(zhí)行操作的過程中所需要的操作數(shù)。該字段除可以是操作數(shù)本身外,也可以是操作數(shù)地址或是地址的一部分,還可以是指向操作數(shù)地址的指針或其它有關(guān)操作數(shù)的信息。
        尋址方式就是指令中用于說明操作數(shù)所在地址的方法,或者說是尋找操作數(shù)有效地址的方法。8086的基本尋址方式有六種。
        1.立即尋址
        所提供的操作數(shù)直接包含在指令中。它緊跟在操作碼的后面,與操作碼一起放在代碼段區(qū)域中。如圖所示。
        例如:movax,3000h
        立即數(shù)可以是8位的,也可以是16位的。若是16位的,則存儲時低位在前,高位在后。立即尋址主要用來給寄存器或存儲器賦初值。
        2.直接尋址
        操作數(shù)地址的16位偏移量直接包含在指令中。它與操作碼—起存放在代碼段區(qū)域,操作數(shù)一般在數(shù)據(jù)段區(qū)域中,它的地址為數(shù)據(jù)段寄存器ds加上這16位地址偏移量。如下圖所示。
        例如:mov ax,ds:[2000h];
        (對ds來講可以省略成movax,[2000h],
        系統(tǒng)默認(rèn)為數(shù)據(jù)段)
        這種尋址方法是以數(shù)據(jù)段的地址為基礎(chǔ),
        可在多達64kb的范圍內(nèi)尋找操作數(shù)。8086中
        允許段超越,即允許操作數(shù)在以代碼段、堆棧
        段或附加段為基準(zhǔn)的區(qū)域中。
        此時只要在指令中指明是段超越的,則16位地址偏移量可以與cs或ss或es相加,作為操作數(shù)的地址。
        mov ax,[2000h] ;數(shù)據(jù)段
        mov bx,es:[3000h]?。欢纬?,操作數(shù)在附加段
        即絕對地址=(es)*16+3000h
        3.寄存器尋址
        操作數(shù)包含在cpu的內(nèi)部寄存器中,如寄存器ax、bx、cx、dx等。
        例如:movds,ax
        moval,bh
        4.寄存器間接尋址
        操作數(shù)是在存儲器中,但是,操作數(shù)地址的16位偏移量包含在以下四個寄存器si、di、bp、bx之一中??梢苑殖蓛煞N情況:
        (1) 以si、di、bx間接尋址,則通常操作數(shù)在現(xiàn)行數(shù)據(jù)段區(qū)域中,即數(shù)據(jù)段寄存器(ds)*16加上si、di、bx中的16位偏移量,為操作數(shù)的地址,【例如】movax,[si]操作數(shù)地址是:(ds)*16+(si)
        (2) 以寄存器bp間接尋址,則操作數(shù)在堆棧段區(qū)域中。即堆棧段寄存器(ss)*16與bp的內(nèi)容相加作為操作數(shù)的地址, 【例如】movax,[bp]操作數(shù)地址是:(ss)*16+(bp)
        若在指令中規(guī)定是段超越的,則bp的內(nèi)容也可以與其它的段寄存器相加,形成操作數(shù)地址?! 纠纭縨ovax,ds:[bp]操作數(shù)地址是:(ds)*16+(bp)
        5.變址尋址
        由指定的寄存器內(nèi)容,加上指令中給出的8位或16位偏移量(當(dāng)然要由一個段寄存器作為地址基準(zhǔn))作為操作數(shù)的偏移地址。(操作數(shù)在存貯器中)
        可以作為寄存器變址尋址的四個寄存器是si、di、bx、bp。
        (1) 若用si、di和bx作為變址,則與數(shù)據(jù)段寄存器相加,形成操作數(shù)的地址即默認(rèn)在數(shù)據(jù)段;
        (2) 若用bp變址,則與堆棧段寄存器相加,形成操作數(shù)的地址即默認(rèn)在堆棧段。
        【例如】 mov ax,count[si];
        操作數(shù)地址是:(ds)*16+(si)+count
        但是,只要在指令中指定是段超越的,則可以用別的段寄存器作為地址基準(zhǔn)。
        6.基址加變址尋址
        把bx和bp看成是基址寄存器,把si、di看著是變址寄存器,把一個基址寄存器(bx或bp)的內(nèi)容加上一個變址寄存器(si或di)的內(nèi)容,再加上指令中指定的8位或16位偏移量(當(dāng)然要以一個段寄存器作為地址基準(zhǔn))作為操作數(shù)的偏移地址,如圖所示。
        操作數(shù)在存貯器中,其偏移地址由(基址寄存器)+(變址寄存器)+相對偏移量形成
        基址寄存器――bx:數(shù)據(jù)段、bp:堆棧段;
        變址寄存器――si、di。
        【例如】mov ax,[bx][si]或mov ax,[bx+si]
        也可放置一個相對偏移量,如count 、mask等等,用于表示相對尋址。
        movax,mask[bx][si]
        movbh,count[di][bp];movbh,count[bp+di]
        若用bx作為基地址,則操作數(shù)在數(shù)據(jù)段區(qū)域
        若用bp作為基地址,則操作數(shù)在堆棧段區(qū)域
        但若在指令中規(guī)定段是超越的,則可用其它段寄存器作為地址基準(zhǔn)。
        表1段寄存器使用的基本約定
        訪問存儲器類型
        默認(rèn)段寄存器
        可指定段寄存器
        段內(nèi)偏移地址來源
        取指令碼
        cs

        ip
        堆棧操作
        ss

        sp
        串操作源地址
        ds
        cs、es、ss
        si
        串操作目的地址
        es

        di
        bp用作基址寄存器
        ss
        cs、ds、es
        根據(jù)尋址方式求得有效地址
        一般數(shù)據(jù)存取
        ds
        cs、es、ss
        根據(jù)尋址方式求得有效地址
        上一個:在道路上醉酒駕駛機動車的入罪標(biāo)準(zhǔn)是什么
        下一個:安立/Anritsu MS9740A 臺式光譜分析儀 技術(shù)參數(shù)

        魅族手機密碼忘記了怎么辦才能解開(魅族手機密碼忘記怎么辦一步解鎖)
        機床附件的用途及適用范圍
        礦用成套LLJ-200F LLJ-200H漏電繼電器
        高溫鐘罩爐的簡單介紹
        不銹鋼風(fēng)淋室工作原理
        水平螺旋輸送機主要特點和優(yōu)越性能
        進口車的品牌有哪些,進口車的品牌有哪些
        合同管理簽訂建設(shè)施工合同應(yīng)注意的幾個問題
        貴陽防撞軟包吸音板(防火)
        中科環(huán)試品牌砂塵試驗箱操作方法