Makale numarası: 94751 - Son Gözden Geçirme: 22 Ekim 2003 Çarşamba - Gözden geçirme: 2.0

Düzeltme: ORG davranış farklı yayılma Dependent değerli

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.

Bu Sayfada

Hepsini aç | Hepsini kapa

Belirtiler

Iki etiketi (bir bağımlı yayılma değeri) arasındaki farkı bir ORG yönergesi için mahsup bağımlıysa Microsoft Macro Assembler (MASM) sürüm 6.0, 6.0a ve 6.0b, çevrilmiş kod MASM önceki sürümleri tarafından üreten farklıdır.

Neden

Mahsup hesabı'ORG yönergesi için henüz ilk derleme geçişte belirlenir etiket değerleri bağlıdır.

Çözüm

Bağımlı yayılma değerleri bir kod 6.0, 6.0a veya 6.0b MASM sürümleri ile birleştirilen ORG yönergesinde kaldırmak için bu kodu değiştirebilirsiniz.

Durum

Microsoft bu sorunun MASM sürüm 6.0 ve 6.0a 6.0b MS-DOS ve OS/2 olarak onaylamıştır. Bu sorun, MS-DOS için MASM sürüm 6.1</a0>'de giderilmiştir.

Daha fazla bilgi

Bu sorun, genellikle iki etiketleri arasında ileriye doğru bir başvuru ortaya çıktığında oluşur. Çevirici ileri başvuru için doldurma baytı ekler ve bu baytları, bir sonraki derleme geçiş sırasında ortadan kaldırır. Böyle bir durumda, sonraki geçişte göre daha büyük bir değer ilk derleme geçiş sırasında ikinci etiketi vardır.

Aşağıdaki örnek kod, bu davranışı gösterir.

Örnek kod

; Assemble options needed: none

tst1 SEGMENT para public
ASSUME cs:tst1
start:
     jmp SHORT forward
forward:
     mov ax, 4C00h
     int 21h
tst1 ENDS

count = offset forward - offset start

tst2 SEGMENT para public
     DB 1
     ORG count  ; This assembles as ORG 10 in MASM versions 6.0, 6.0a, and
                ; 6.0b. It assembles as ORG 2 in MASM versions 5.1 and 6.1.
xxx  DB 1
tst2 ENDS

END start
				

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Macro Assembler 6.0 Standard Edition
  • Microsoft Macro Assembler 6.0a
  • Microsoft Macro Assembler 6.0b
Anahtar Kelimeler: 
kbmt kbfix KB94751 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:94751  (http://support.microsoft.com/kb/94751/en-us/ )
Retired KB ArticleKullanım Dışı Bilgi Bankası İçeriği Yasal Uyarı
Bu makale, Microsoft'un artık destek sağlamadığı ürünler ile ilgili olarak yazılmıştır. Bu nedenle, bu makale "olduğu gibi" sağlanmıştır ve bundan sonra güncelleştirilmeyecektir.