diff --git a/pyasm/pyasm b/pyasm/pyasm index 238f29a..8a8d6b9 100755 --- a/pyasm/pyasm +++ b/pyasm/pyasm @@ -661,13 +661,15 @@ def pass_2(lines): error("BSS pseudo-op has bad value") return False value = eval_expr(addr) + if value is None: + error("BSS pseudo-op has bad value: '%s'" % addr) if label: try: - old_value = SymTable[label] - if value != old_value: - error("BSS value in has changed, " + old_dot = SymTable[label] + if Dot != old_dot: + error("BSS dot value has changed, " "was %06o, is now %06o" - % (old_value, value)) + % (old_dot, Dot)) except KeyError: error("BSS label '%s' wasn't defined in first pass!?" % label) diff --git a/pyasm/test2.asm b/pyasm/test2.asm index f897339..986b2fa 100644 --- a/pyasm/test2.asm +++ b/pyasm/test2.asm @@ -16,6 +16,7 @@ offset data start - 3 ascii 'xxxxxxx' ascii "xx" ascii 'x' +tom bss 4 end hlt - end start + end start2